在Big query CLI中设置变量参数

时间:2018-03-14 12:05:40

标签: google-bigquery

我意识到我们可以在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'一个接一个地执行的查询数。在这种情况下,有没有办法设置参数值一次。在以下所有查询中,应反映相同的参数值。任何线索都将受到赞赏。

1 个答案:

答案 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;'

可以不引用您运行的每个查询中的所有参数。