2015-08-13 101 views
1

我要創建一個大的查詢表的架構如下大查詢表創建混亂

snippet:STRING,comment_date:TIMESTAMP 

,我有數據如下

"Love both of these brands , but the "" buy a $100k car , get or give a pair of $40 shoes "" message seems .",2015-06-22 00:00:00 

"All Givens Best Commercial Ever",2015-06-22 00:00:00 

我很困惑,因爲兩排被接受並插入表格中,儘管在第一行中所有代碼段字符串位於雙引號之間,但它也包含雙引號和逗號之間的

爲什麼不大q烏里在那裏感到困惑?

+1

最好讓您的數據儘可能乾淨和規則。 [RFC4180](https://tools.ietf.org/html/rfc4180)是CSV文件的寬鬆標準,其中指定逗號在引用字段中可以使用,並且字段中的引號應加倍。正確的解析通常是每次一個字符。而醜陋的CSV文件不會**遵循它,發明或忽略重要的東西,如引號轉義。負責快速解析CSV的普通程序員或分析師將使用逗號分隔CSV數據,這在使用引號字段或引號轉義的逗號時不正確。 – Paul

+0

謝謝@保羅我不知道這一點。這意味着大查詢就像上面那樣處理它。 –

回答

1

解析CSV時,BigQuery僅在未加引號的逗號分割,並且在遇到帶引號的字符串內遇到雙引號""作爲單個轉義引號字符"。所以根據BigQuery你的輸入是有效的CSV。

+0

如果我在字符串內有一條新線,該怎麼辦?然後我需要一些工作。 –

+0

你能建議些什麼 –

+1

如果你設置allowQuotedNewlines標誌,那麼你可以在引用的CSV字符串中包含換行符。 https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load.allowQuotedNewlines –