Tenho um projeto em que gostaria de fazer um carregamento via query de um BigQuery. Isso é possível, já consegui fazer direto do BigQuery com service acount... mas aprimoraria mais com a Query. Detalhe rs essa query possui JSON_EXTRACT.
Tenho um projeto em que gostaria de fazer um carregamento via query de um BigQuery. Isso é possível, já consegui fazer direto do BigQuery com service acount... mas aprimoraria mais com a Query. Detalhe rs essa query possui JSON_EXTRACT.
Olá!!! Algumas horas depois volto com a solução rs
!apt-get install openjdk-8-jdk-headless -qq > /dev/null
!wget -q https://dlcdn.apache.org/spark/spark-3.4.0/spark-3.4.0-bin-hadoop3.tgz
!tar xf spark-3.4.0-bin-hadoop3.tgz
!pip install -q findspark
!wget -q https://storage.googleapis.com/hadoop-lib/gcs/gcs-connector-hadoop2-latest.jar
import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-3.4.0-bin-hadoop3"
os.environ['PYSPARK_SUBMIT_ARGS'] = '--jars gcs-connector-hadoop2-latest.jar pyspark-shell'
import findspark
findspark.init()
!wget -q https://bin.equinox.io/c/4VmDzA7iaHb/nrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip
get_ipython().system_raw('./ngrok.http 4050 &')
!curl -s http://localhost:4040/api/tunnels
%env NO_GCE_CHECK=true
from google.cloud import bigquery
service_account_path = 'CAMINHO DA SUA SERVICE ACCOUNT EM JSON'
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = service_account_path
client = bigquery.Client()
project_id = 'COLOQUE SEU PROJETO'
dataset_id = 'COLOQUE SEU DATASET'
table_id = 'COLOQUE SUA TABELA'
table_ref = f'{project_id}.{dataset_id}.{table_id}'
query = f'''
SELECT
*
FROM `{table_ref}`
'''
df = client.query(query).to_dataframe()
df.head()
Olá Adriel, tudo bem com você?
Fico feliz em saber que conseguiu solucionar o desafio apresentado e que compartilhou a resolução com a comunidade do fórum Alura. É muito importante o engajamento e auxílio da comunidade no fórum. Obrigado por sua contribuição, com certeza ajudará outras pessoas.
Abraços e bons estudos!