我意识到我们可以在BQ CLI中运行参数化查询。以下是从Big查询文档中获取的工作示例:
bq query --use_legacy_sql=False \
--parameter=corpus::romeoandjuliet \
--parameter=min_word_count:INT64:250 \
'SELECT word, word_count
FROM `bigquery-public-data.samples.shakespeare`
WHERE corpus = @corpus
AND word_count >= @min_word_count
ORDER BY word_count DESC;'
这种方式对于每个参数化查询,我们需要在查询执行语句本身内传递参数。假设,如果我有' n'一个接一个地执行的查询数。在这种情况下,有没有办法设置参数值一次。在以下所有查询中,应反映相同的参数值。任何线索都将受到赞赏。
答案 0 :(得分:3)
您可以使用包含参数的别名,例如:
alias bqparams="bq query --use_legacy_sql=False --parameter=corpus::romeoandjuliet --parameter=min_word_count:INT64:250"
现在您可以使用此别名来运行每个查询:
bqparams 'SELECT word, word_count
FROM `bigquery-public-data.samples.shakespeare`
WHERE corpus = @corpus
AND word_count >= @min_word_count
ORDER BY word_count DESC;'
可以不引用您运行的每个查询中的所有参数。