我正在尝试将查询输出导出到云存储中的文件。 查询输出始终为 <1GB but the export data options is creating multiple smaller files. Example:
EXPORT DATA OPTIONS(
uri='gs://test_bucket/test_file_*.csv',
format='CSV',
overwrite=true,
header=true,
field_delimiter=';') AS
SELECT * FROM `test.test_table`;
当我提供不带通配符的文件名 (gs://test_bucket/test_file_1.csv) 时,我看到错误“无效的 uri 规范。选项“uri”值必须是通配符 URI。”
有没有办法始终使用导出数据选项仅生成一个文件?
交叉引用:代码
EXPORT DATA OPTIONS(
uri='gs://test_bucket/test_file_*.csv',
format='CSV',
overwrite=true,
header=true,
field_delimiter=';') AS
SELECT DISTINCT * FROM `test.test_table`;
如 nicolas noziere 的回答 https://stackoverflow.com/a/66388650/4985705 (添加不同的以强制将所有数据加载到一个工作程序中。)始终使用导出数据选项仅生成一个文件。
EXPORT DATA OPTIONS(
field_delimiter=";",
format="CSV",
header=true,
overwrite=true,
uri="gs://test_bucket/test_file_*.csv"
)
从测试限制中选择* 999999999999;
使用限制 999999999999 在所有情况下都有效。但如果你的提取很大,查询将永远持续