如何为google云存储创建外部table并查询外部分区数据?

How to create an external table for a google cloud storage and query the externally partitioned data?

我正在尝试使用此 BigQuery 的引用来查询外部分区数据 doc

Google 云存储:(csv 数据仅包含字符串值)

gs://project/myfolder/count=1000/file_1k.csv
gs://project/myfolder/count=10000/file_10k.csv
gs://project/myfolder/count=100000/file_100k.csv

源 URI 前缀: gs://project/myfolder

但是我在查询 table、

时收到以下错误
Error while reading table: project.dataset.partition_table, 
error message: Cannot query hive partitioned data for table project.dataset.partition_table without any associated files.

查询:

SELECT * FROM `project.dataset.partition_table` where count=1000 order by rand() LIMIT 100;

参考截图,

非常感谢这里的任何输入。

问题是引擎找不到与分区相关的文件。 在您的情况下,这是因为当您创建 table 时,您引用了 GCS 中的一个文件夹,而不是它的文件。

要解决您的问题,您应该使用通配符,您的路径将是 gs://project/myfolder/* 而不是 gs://project/myfolder

希望对你有帮助