在下面給出的示例中,最後一行未上傳。我得到一個錯誤:報價和字段分隔符之間的數據
Data between close double quote (") and field separator:
這看起來像,因爲所有的管道符號之間的數據應該作爲一個單一的領域進行處理的錯誤。
架構:之一:串,二:串,三:串,四:串
載文件:
This | is | test only | to check quotes
second | line | "with quotes" | no text
third line | with | "start quote" and | a word after quotes
第一和第二線的上方進行處理。但不是第三個。
更新:
可以請一些解釋爲什麼做了以下工作除了第三行?
This | is | test only | to check quotes
second | line | "with quotes" | no text
third line | with | "start quote" and | a word after quotes
forth line | enclosed | {"GPRS","MCC_DETECTED":false,"MNC_DETECTED":false} | how does this work?
fifth line | with | {"start quote"} and | a word after quotes
這可以有一些奇特的解釋。從最終用戶的角度來看,這是荒謬的。
我只是想你的更新,你給的例子實際上不工作。與大多數CSV解析應用程序一樣,BigQuery默認將雙引號(「)作爲字段包圍字符。第三行沒有正確轉義(請參閱下面的答案),並且攝取會引發錯誤。您的選擇是:1.將您的提取請求中的「configuration.load.quote」參數更改爲除雙引號以外的內容(數據中未顯示的字符)。 2.按照下面的建議轉義您的數據...例如,Python的csv類會自動執行此操作。 –
雖然考慮到能夠將「configuration.load.quote」設置爲NULL這樣的事情可能有好處,但我認爲在處理大量CSV數據時,非常明確地使用分隔符和字段包圍字符很重要。它有助於捕捉底層數據中的錯誤,並確保您所攝入的數據有效。 –