You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2021/01/25 18:37:36 UTC
[GitHub] [airflow] omarismail94 commented on issue #13750: Support Standard SQL in BigQuery Sensor
omarismail94 commented on issue #13750:
URL: https://github.com/apache/airflow/issues/13750#issuecomment-767026584
@mik-laj Yeah, you have to do something like this:
```
class BigQuerySqlSensor(BaseSensorOperator):
template_fields = ('sql',)
template_ext= ('.sql',)
@apply_defaults
def __init__(
self,
bigquery_conn_id = 'bigquery_conn_id',
delegate_to=None,
location='US',
sql=None,
use_legacy_sql=False,
**kwargs):
self.bigquery_conn_id = bigquery_conn_id
self.delegate_to = delegate_to
self.location = location
self.sql = sql
self.use_legacy_sql = use_legacy_sql
super().__init__(**kwargs)
def poke(self, context):
hook = BigQueryHook(bigquery_conn_id=self.bigquery_conn_id, delegate_to=self.delegate_to, location=self.location, use_legacy_sql= self.use_legacy_sql)
connection = hook.get_conn()
cursor = connection.cursor()
cursor.execute(self.sql)
for row in cursor.fetchall():
self.log.info("printing rows ...")
self.log.info(row)
row_count = row[0]
self.log.info("rows printed.")
if row_count > 0:
return True
return False
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org