[英]Is it possible for Airflow to manage UDF creation in BigQuery?
我将 Airflow 用于各种 ETL 工作,但我也开始大量使用UDF 。
我想在数据集my_project.my_udfs
中组织我的 UDF,我希望能够为此目的利用 Airflow。 有办法吗?
我最终希望能够像这样安排查询,简单的例子:
CREATE FUNCTION `my_project.my_udfs.normalize`(s STRING)
RETURNS STRING
AS TRIM(LOWER(s));
您可能会想到的问题的几个答案:
提前致谢!
如果您将 UDF 存储在 BigQuery 中,则可以使用 BigQuery 挂钩并传入一些基本的 SQL 来执行它。
from airflow.providers.google.cloud.hooks.bigquery import BigQueryHook
bq_hook = BigQueryHook(gcp_conn_id)
results = bq_hook.get_records('select * from my_table')
将my_table
替换为您的 UDF,它应该会为您返回一个结果集。
或者,如果您没有持久性 UDF 或希望每次都传递一些内容,您可以将一些 SQL 存储在 XML 文件中,该文件位于您的 Python 代码旁边,并在您想要执行它时从那里获取它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.