Google-BigQuery - CSV 文件的架构解析
Posted
技术标签:
【中文标题】Google-BigQuery - CSV 文件的架构解析【英文标题】:Google-BigQuery - schema parsing of CSV file 【发布时间】:2014-02-13 19:57:30 【问题描述】:我们正在使用 Java API 将 CSV 文件加载到 Google Big Query。有没有办法在加载时检测列并自动选择适当的架构类型?
例如,如果特定列只有浮点数,则 BigQuery 将该列分配为浮点数,如果不是数字,则将列分配为字符串。有没有办法做到这一点?
迂回的方式是在加载 CSV 时默认将每一列分配为字符串。
然后对每一列进行查询-
SELECT count(columnname)- count(float(columnname)) FROM dataset.table (假设我只对隔离具有“浮点值”的列感兴趣,这些列可以用于我的应用程序中的数学函数)
还有什么方法可以解决这个问题吗?
【问题讨论】:
【参考方案1】:目前,BigQuery 不支持架构推断,因此按照您的建议,您的选择是:
-
在加载数据时明确提供架构。
使用字符串类型加载所有数据,并在查询时进行转换/转换。
请注意,您可以使用 allowLargeResults 功能来清理和重写您导入的数据(但请注意,您需要为查询付费,这会增加您的数据提取成本)。
【讨论】:
只是提醒看到此回复的新人。自从发布此响应以来,架构自动检测已添加到 BigQuery。【参考方案2】:作为记录,现在支持模式自动检测:https://cloud.google.com/bigquery/federated-data-sources#auto-detect
【讨论】:
以上是关于Google-BigQuery - CSV 文件的架构解析的主要内容,如果未能解决你的问题,请参考以下文章
如何优化 google-bigquery 以从大数据表中查找最常见的类别?
google-bigquery 如何使用 https 获取数据集列表?
如何同步调用 google-bigquery 删除和插入 API?
google-bigquery 在查询结果中将日期格式设置为 mm/dd/yyyy