#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. Спасибо! я знал, что мне не хватает чего-то очень простого 🙂