我正在将数据从服务器填充到谷歌大查询。表中的一个属性是一个字符串,其中包含近150个字符。
例如,“在具有已知工作设备的车辆中有经销商测试设备 设置为电源循环,从未获得绿灯检查单元提供商和所有SIM卡都处于活动状态所有情况下调制解调器似乎已经死亡,所有情况都亮,但不是绿灯“。
GBQ中的表将填充,直到它达到此特定属性。当要加载此属性时,不会在单个单元格中加载此属性。它被分成不同的单元格,并对表格进行分组。
GBQ的每个字段都有限制吗?有关这方面的任何信息将不胜感激。
答案 0 :(得分:3)
我的猜测是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使用。
答案 1 :(得分:0)
我不确定是否存在限制,当然我看到字符串字段超过8,000个字符。
请您澄清一下,'当此属性即将加载时,这不会加载到单个单元格中。它会分裂成不同的单元格,并对表格进行分组。“这种情况每次都会发生吗?它可能与某些标点符号有关吗?