2016-04-22 79 views
1

我正在將數據從服務器填充到Google大查詢中。表中的一個屬性是一個字符串,其中有近150個字符。Google Big Query的列大小

例如,「在車輛與已知的工作裝置經經銷商測試設備 設定爲通電週期,從來沒有得到綠燈經過與電池供應商,所有的SIM活躍所有情況下,調制解調器看來是死了,光在所有但不是綠燈「。

GBQ中的表會被填充,直到遇到此特定屬性。當這個屬性即將加載時,這不會在單個單元格中加載。它被分解成不同的單元格,並佔據了表格。

GBQ的每個字段是否有任何限制?任何有關這方面的信息將不勝感激。

+1

你是如何填充表格的?如果你可以提供一個[mcve]來準確顯示你在做什麼,那真的會有所幫助。請注意,如果您使用的是CSV上傳,您的值中包含逗號的事實可能很容易與...... –

+1

根據https://cloud.google.com/bigquery/preparing-data-for-bigquery,編碼爲UTF-8時,字符串限制爲2MB。 –

回答

0

我不確定是否有限制,當然我看到超過8000個字符的字符串字段。

請您澄清一下,'當這個屬性即將加載,這不會被加載到單個單元格中。它被分割成不同的單元格,並佔據了桌子。'?這是否每次都發生?它可能與某些標點符號相關嗎?

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使用。