如何在Dataflow CloudPubSubToBigQuery模板的BigQuery Sink配置请求最大行数
解决CloudPubSubToBigQuery模板配置BigQuery批量插入行数的问题
我之前在用这个官方模板的时候也找过这个配置,其实它藏在模板的作业参数里,不是在BigQuery端配置的,具体来说:
- 你要找的控制每个流式插入请求最大行数的参数是
--batchSize,直接把它设为500就能符合官方建议的配额要求。 - 另外还有配套的
--batchSizeBytes参数,可以控制每个批量请求的字节大小上限(默认是10MB),你也可以根据自己的数据大小调整。
具体设置方式
不管是通过Cloud Console提交作业还是用gcloud命令行,都能添加这些参数:
比如用gcloud命令提交的话,命令示例如下:
gcloud dataflow jobs run my-pubsub-to-bq-job \ --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_BigQuery \ --region us-central1 \ --parameters \ inputTopic=projects/my-project/topics/my-topic,\ outputTableSpec=my-project:my-dataset.my-table,\ batchSize=500
如果是在Cloud Console里操作,提交作业时的「可选参数」部分就能找到batchSize这一项,直接输入500即可。
补充一下:如果是自己写自定义Dataflow管道,那可以在BigQueryIO.write()里用withBatchSize(500)来配置,但官方预制模板就是通过上述作业参数来控制的,之前我也是找了半天才发现这个点😅
内容的提问来源于stack exchange,提问作者x97Core
相关产品推荐
相关产品推荐

