Google-BigQuery - CSV文件的架构解析

时间:2014-02-13 19:57:30

标签: csv google-bigquery

我们正在使用Java API将CSV文件加载到Google Big Query。有没有办法在加载时检测列并自动选择适当的模式类型?

例如,如果某个特定列只有float,那么BigQuery会将该列指定为float,如果是非数字,则将该列指定为字符串。有没有办法做到这一点?

迂回方式是在加载CSV时默认将每列分配为字符串。

然后对每列进行查询 -

SELECT count( columnname ) - count(float( columnname ))FROM dataset.table (假设我只对隔离具有“浮点值”的列感兴趣,我可以将其用于我的应用程序中的数学函数)

解决此问题的其他任何方法?

2 个答案:

答案 0 :(得分:1)

目前,BigQuery不支持架构推断,因此根据您的建议,您的选项是:

  1. 加载数据时显式提供架构。
  2. 使用字符串类型加载所有数据,并在查询时转换/转换。
  3. 请注意,您可以使用allowLargeResults功能清理和重写导入的数据(但请注意,您需要为查询付费,这会增加您的数据提取费用。)

答案 1 :(得分:0)

对于记录,现在支持架构自动检测:https://cloud.google.com/bigquery/federated-data-sources#auto-detect