Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用客户端库(Python)在BigQuery中附加到分区表?_Python_Google Cloud Platform_Google Bigquery - Fatal编程技术网

如何使用客户端库(Python)在BigQuery中附加到分区表?

如何使用客户端库(Python)在BigQuery中附加到分区表?,python,google-cloud-platform,google-bigquery,Python,Google Cloud Platform,Google Bigquery,我已经在网上广泛搜索,也阅读了相关的API参考资料和BQ指南文章,包括,但似乎没有什么是直接相关的 感兴趣的表是一个摄取时间分区表。我已经创建了一个初始表,现在需要追加更多数据。我尝试运行以下代码: job_config = bq.LoadJobConfig(source_format=bq.SourceFormat.CSV, skip_leading_row=1, write_disposition='WRITE_APPEND') with open(file_path, 'rb') as

我已经在网上广泛搜索,也阅读了相关的API参考资料和BQ指南文章,包括,但似乎没有什么是直接相关的

感兴趣的表是一个摄取时间分区表。我已经创建了一个初始表,现在需要追加更多数据。我尝试运行以下代码:

job_config = bq.LoadJobConfig(source_format=bq.SourceFormat.CSV, skip_leading_row=1, write_disposition='WRITE_APPEND')

with open(file_path, 'rb') as source_file:
    job = client.load_table_from_file(source_file, table_id, job_config=job_config)
但是,即使没有出现错误,它也不起作用。一些指导文章提到为目标表添加一个分区装饰器,所以我在表的末尾添加了一个时间戳,它仍然不起作用

请帮助使附加成为可能

附言:
我不希望使用日期切分表,因为比较起来这不是一个好的做法。

要检查表是否确实是摄取时间分区的,只需单击它并选择“详细信息”:

因为您的表是按天分区的,所以在同一天插入的所有行的_PARTITIONTIME都是相同的。明天尝试插入新行。

从google.cloud导入bigquery 项目=[ 1“foo”, 2.“酒吧” ] 使用Google云平台项目创建新的Google BigQuery客户端 默认值。 client=bigquery.client 获取对数据集的引用 数据集\u id=出生率\u回归 dataset=bigquery.datasetdataset\u id 拿桌子 table_ref=dataset.table回归_输入$20210423 table=client.get\u table\u ref 错误=client.insert_rowstable,项目
sdk使用API,因此,答案是在选择器中的表名后面附加一个$和一个日期,比如20210423。

谢谢,Sergey。1.我有与您的屏幕截图相同的详细信息,但我想知道it时间单位列分区表是否会列出相同的详细信息。2.假设它已经是摄取时间分区表,我一直在尝试在不同的日期追加,但正如问题中所述,代码不起作用。。。这是最大的谜团。哦,对不起。对于时间单位,在字段上分区的列分区表包含列名。不用担心。还是谢谢你。