【发布时间】:2021-11-03 15:16:51
【问题描述】:
我想将 parquet 文件中的数据仅使用 STRING 类型加载到 BigQuery 中。我想强制所有数据保留为 STRING 类型,以避免将来由于与其他文件的类型不兼容而导致任何加载失败。
我有不同类型的镶木地板文件:STRING, FLOAT...
我创建了一个只有 STRING 类型的 bigquery 表。
我运行此命令以将 parquet 文件中的数据加载到 BigQuery 中:
bq load --source_format=PARQUET --noreplace --noautodetect --parquet_enum_as_string=true --decimal_target_types=STRING [project]:[dataset].[tables] gs://[bucket]/[file].parquet
我收到此错误:
BigQuery error in load operation: Error processing job '[project]:[job]': Provided Schema does not match Table [project]:[dataset].[table]. Field [attribut] has
changed type from STRING to FLOAT
我尝试使用相同的命令将镶木地板数据导入到一个不存在的表中,它使用 FLOAT 属性。
如您所见,我尝试添加参数
--noautodetect
--parquet_enum_as_string=true
--decimal_target_types=STRING
强制转换为字符串并停止自动检测,但这并不能解决我的需求。
请问你知道如何强制STRING 输入吗?
【问题讨论】:
-
Parquet 文件中包含架构信息。阅读此链接hackolade.com/help/Parquetschema.html。架构应该匹配黑白表和文件
-
我们不能在加载到大查询时强制转换字符串吗?
标签: string google-bigquery parquet