python - 如何通过 csv 获取加载到 BigQuery 中的行数
问题描述
我正在通过 Python 将 csv 文件加载到 BigQuery 中,并且根据日志记录机制,我想打印在 Day 分区的 BigQuery 表中加载的行数
我在下面使用的代码给出了整个表的计数,但我想要每天的行数,这意味着每个当前分区。
所以如果昨天我加载2 rows
,今天我加载3 rows
然后
destination_table.num_rows = 5 (total count)
但我想要 3 ,仅在当前 Day 分区中加载的行数
destination_table = client.get_table(dataset_ref.table("{stg_table_1}".format(stg_table_1=self.projconfig.stg_table_1)))
print("Loaded {} rows.".format(destination_table.num_rows))
解决方案
通过使用更容易检查加载作业的结果
load_job.result() # wait for the job to finish
load_job.output_rows
而不是在加载数据后查询目标表。文档在这里
LE:或此处的文档:https ://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.job.LoadJob.html
推荐阅读
- django - django.extra() 中是否有左连接,它可以帮助我在 django 中加入没有任何关系的表
- bash - 如何从 lcov --summary 命令中仅读取行覆盖率并存储在某些 shell 脚本变量中?
- typescript - 如何为 Visual Studio 代码添加方法描述?
- python - 将有序字典转换为 pandas 列
- android - 怯场——利用?- 对相同文件的重复请求
- dvc - 数据版本控制 (DVC) 就地编辑文件导致循环依赖
- python - 如何通过索引位置在 df 上插入后行?
- angularjs - 如何在 AngularJS 表单中嵌套 Angular 2+ 表单?
- spring-boot - 如何关闭/停止 Spring Cloud 流绑定的 RabbitMQ 队列
- c - 为什么将 while() 中的 printf() 作为条件打印不同的输出