Как передать use_legacy_sql = False SqlSensor в DAG Airflow с подключением BigQuery? - PullRequest
0 голосов
/ 02 мая 2019

Я использую свой собственный SqlSensor со времени выпуска Apache Airflow 1.9, так как я не смог использовать тот, который включен в стандартные операторы SQL, работающие в Google BigQuery, потому что по умолчанию используется устаревший SQL .

Я проверил последний релиз 1.10.3, и похоже, что это все еще так.Есть ли другой способ заставить это работать, кроме использования моего собственного датчика SQL в качестве плагина?

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Обновите свой пользовательский датчик, чтобы передать use_legacy_sql=False в BigQueryHook.

hook = BigQueryHook(
            bigquery_conn_id=self.bigquery_conn_id,
            delegate_to=self.delegate_to,
            use_legacy_sql=False
       )
0 голосов
/ 02 мая 2019

Из темы , включающей стандартный SQL в документации, если вы не можете установить опцию напрямую, другой подход заключается в использовании #standardSQL shebang, например ::

#standardSQL
SELECT x
FROM UNNEST([1, 2, 3]) AS x;

Должна быть возможность отправки запросов с использованием этого префикса для переопределения параметра.

...