Google Big Query 的列大小

Posted

技术标签:

【中文标题】Google Big Query 的列大小【英文标题】:Column size of Google Big Query 【发布时间】:2016-04-22 00:14:33 【问题描述】:

我正在将数据从服务器填充到谷歌大查询。表中的属性之一是一个包含近 150 多个字符的字符串。

例如,“让经销商在具有已知工作设备的车辆中测试设备 设置为电源循环,从未获得绿灯与手机提供商检查,所有 SIM 卡都处于活动状态,所有情况下调制解调器似乎都死了,所有灯都亮,但不是绿灯”。

GBQ 中的表会被填充,直到它达到此特定属性。当此属性即将加载时,它不会加载到单个单元格中。它被分成不同的单元格,并且破坏了表格。

GBQ的每个字段有什么限制吗?任何有关这方面的信息将不胜感激。

【问题讨论】:

你是如何填充表格的?如果您可以提供minimal reproducible example 准确显示您在做什么,那真的很有帮助。请注意,如果您使用的是 CSV 上传,那么您的值中包含逗号这一事实可能很容易相关... 根据cloud.google.com/bigquery/preparing-data-for-bigquery,当编码为UTF-8时,字符串的限制为2MB。 【参考方案1】:

我的猜测是 CSV 数据中的引号和逗号字符会混淆 CSV 解析器。例如,如果您的字段之一是hello, world,这将看起来像两个单独的字段。解决此问题的方法是引用该字段,因此您需要"hello, world"。如果您在该字段中嵌入了引号,这当然会出现问题。例如,如果您想要一个显示She said, "Hello, world" 的字段,您需要通过将内部引号加倍来转义引号,如"She said, ""Hello, world""",或者使用不同的字段分隔符(例如,|)并删除引号分隔符(使用\0)。

最后一个复杂情况是您是否在字段中嵌入了换行符。如果您有Hello\nworld,这意味着您需要在加载作业配置上设置allow_quoted_newlines。缺点是使用此选项导入大文件会更慢,因为它们不能并行完成。

这些配置选项都被描述为here,并且可以通过 Web UI 或 bq 命令行 shell 使用。

【讨论】:

【参考方案2】:

我不确定是否有限制,当然我见过超过 8,000 个字符的字符串字段。

您能否澄清一下,“当此属性即将加载时,它不会在单个单元格中加载。它被分成不同的单元格并破坏了表格。'?每次都会出现这种情况吗?会不会和某些标点符号有关?

【讨论】:

以上是关于Google Big Query 的列大小的主要内容,如果未能解决你的问题,请参考以下文章

如何将 .gz 文件上传到 Google Big Query?

如何重命名 Big Query 中的列? [关闭]

从 Big Query python API 调用返回的列列表中删除列

Google Big Query 中的功能

Google Data Studio:将用户输入写回 Google Big Query 表

Google Big Query 的奇怪活动