Google Cloud Datalab 中的 BigQuery - 获取查询文本?
BigQuery in Google Cloud Datalab - Get Query Text?
我们在 Google Cloud DataLab 中有一个工作原型,我们在其中广泛使用 %%bq
'magics' 来使用各种 UDF 构建参数化查询。
所以像这样:
customFn1 = bq.UDF("customFn1",theJsCode1,theDataTypeDef1,params=paramDefs1)
customFn2 = bq.UDF("customFn2",theJsCode2,theDataTypeDef2,params=paramDefs2)
然后:
%%bq query --name finalQry --udfs customFn1 customFn2
SELECT
customFn1(bell, whistle) AS Output1,
customFn2(rank,serialNo) AS Output2
FROM
myImaginaryTable
WHERE
id < @param1 AND id > @param2
然后:
%%bq sample -q finalQry
parameters:
- name: param1
type: STRING
value: "ab1"
- name: param2
type: STRING
value: "ab3"
我们想开始着手部署此原型,并且需要访问最终查询文本以在我们的生产代码中使用(将在适当的时候通过 API 调用)。
我知道 GC datalab 正在幕后做一些工作来编写这个查询(我们的真实世界的例子要复杂得多),我需要在我们的代码中复制它。
如果我能够访问 GC datalab 在组成 udf、替换参数等之后生成的实际查询字符串,那将非常有用?我可以做到手动复制和粘贴等等,但如果我可以在某处自动访问这个最终查询字符串,那将非常有用?
我已经阅读了此处的文档:http://googledatalab.github.io/pydatalab/datalab.bigquery.html 但似乎无法找到我需要的内容。谁能帮忙?
你试过finalQry.sql
了吗?这将为您提供查询的 SQL 字符串。但是,这将在任何参数替换之前发生,因为这发生在执行时(在这种情况下是您的 sample
调用)。
见http://googledatalab.github.io/pydatalab/datalab.bigquery.html#datalab.bigquery.Query.sql
如果您认为在替换后获取 SQL 字符串是一项有用的功能,您可以在 Github repo.
上打开功能请求
我们在 Google Cloud DataLab 中有一个工作原型,我们在其中广泛使用 %%bq
'magics' 来使用各种 UDF 构建参数化查询。
所以像这样:
customFn1 = bq.UDF("customFn1",theJsCode1,theDataTypeDef1,params=paramDefs1)
customFn2 = bq.UDF("customFn2",theJsCode2,theDataTypeDef2,params=paramDefs2)
然后:
%%bq query --name finalQry --udfs customFn1 customFn2
SELECT
customFn1(bell, whistle) AS Output1,
customFn2(rank,serialNo) AS Output2
FROM
myImaginaryTable
WHERE
id < @param1 AND id > @param2
然后:
%%bq sample -q finalQry
parameters:
- name: param1
type: STRING
value: "ab1"
- name: param2
type: STRING
value: "ab3"
我们想开始着手部署此原型,并且需要访问最终查询文本以在我们的生产代码中使用(将在适当的时候通过 API 调用)。
我知道 GC datalab 正在幕后做一些工作来编写这个查询(我们的真实世界的例子要复杂得多),我需要在我们的代码中复制它。
如果我能够访问 GC datalab 在组成 udf、替换参数等之后生成的实际查询字符串,那将非常有用?我可以做到手动复制和粘贴等等,但如果我可以在某处自动访问这个最终查询字符串,那将非常有用?
我已经阅读了此处的文档:http://googledatalab.github.io/pydatalab/datalab.bigquery.html 但似乎无法找到我需要的内容。谁能帮忙?
你试过finalQry.sql
了吗?这将为您提供查询的 SQL 字符串。但是,这将在任何参数替换之前发生,因为这发生在执行时(在这种情况下是您的 sample
调用)。
见http://googledatalab.github.io/pydatalab/datalab.bigquery.html#datalab.bigquery.Query.sql
如果您认为在替换后获取 SQL 字符串是一项有用的功能,您可以在 Github repo.
上打开功能请求