Крючок большого запроса воздушного потока: как сохранить результаты в переменной python?

#python #pandas #google-bigquery #airflow #hook

#python #pandas #google-bigquery #воздушный поток #хук

Вопрос:

Я использую крючок bigquery в своем коде airflow.

Пример запроса: select count(*) from 'table-name'; таким образом, в результате он вернет только 1 целое число.

Как я могу сохранить его в целочисленной переменной python вместо всего фрейма данных pandas?

Ниже приведен мой пример кода,

 hook = BigQueryHook(bigquery_conn_id=BQ_CON, use_legacy_sql=False)
bq_client = bigquery.Client(project = hook._get_field("project"), credentials = hook._get_credentials())
query = "select count(*) from dataset1.table1;"
df = bq_client.query(query).to_dataframe()
 

Ответ №1:

Если это всего лишь одна строка, вы можете назвать столбец col1 и получить к нему доступ по этому ключевому имени

 query = "select count(*) as col1 from dataset1.table1;"

query_result = client.query(query)

result = query_result[0]['col1']
 

или, если вы уже вызывали to_dataframe()

 result = int(df.values[0])
 

Комментарии:

1. Спасибо! я знал, что мне не хватает чего-то очень простого 🙂