我在做与BigQuery一些数据处理,并希望用一些查询作为输入输出到数据处理管道的下一个阶段,最好让我做这样的事情:从命令行轻松运行BigQuery查询并下载结果?
bigquery $QUERY | ./process.sh
我“M能够实现由目前这样做类似的事情:
bq --nosync query --max_rows 100000000 --use_cache --batch --use_legacy_sql=false $QUERY
bq wait $JOBID
bq --format csv head -j $JOBID --max_rows 100000000 | ./process.sh
但我不知道,如果下载所有的数据(上千万行)与head
比,而不是把结果写入一个效率较低表格,然后将其导出到谷歌存储,然后下载它?有没有现成的工具可以为我抽象掉所有这些东西,让我运行一个查询,然后发送/下载完整的输出给我?
这只是不按比例。你的脚本是如何处理这些数据的? BigQuery专为分析和聚合而设计,而不是通过线路拉动数千万行,然后进入bash脚本。 –
就这个问题而言,脚本的作用并不重要,而且我实际上有多个流水线,其中处理步骤执行各种不同的操作。 我确实使用BigQuery进行分析和聚合,但我需要以一种简单的方式处理数据。 AWS RedShift是微不足道的,我正在从中迁移。 BigQuery似乎可以通过我的'头部'例子或通过从GCS下载来实现,但是我想找到一个能够从我这里抽象出来的命令。 –
如何使用云端数据流管道代替?或者你必须留在bash中? –