目前,我有tshark記錄所有符合特定消息傳遞標準的數據包,並將它們輸出爲CSV。然後將CSV存儲在Google CloudStorage中,準備導入到BigQuery中。BigQuery無法從tshark導入CSV
這是tshark輸出的CSV的一個示例行。
"1380106851.793056000",
"1.1.1.1",
"2.2.2.2",
"99999",
"1111",
"raw:ip",
"324",
"af:00:21:9a",
"880",
"102",
"74:00",
"ORIG",
"It's text or !\x0a\" 's not D",
"0x00",
"0",
的BigQuery不會導入該行聲稱,「數據接近雙引號之間(」)和字段分隔符:字段開頭:「我想這是第13列(」這是文本或\ X0A \ 「不是D」)導致這個問題,但我不確定如何否定它。此列包含消息文本,並且假定它可能永遠不會包含均衡的語法是合理的。
我能想到的唯一補救辦法是在文件上運行awk,並用單引號替換任何非語法雙引號。
有什麼我錯過了?
你可以改變你的BigQuery配置的'configuration.load.fieldDelimiter'和'configuration.load.quote'屬性嗎?如果是這樣,我會嘗試使用像'\ 001'這樣的字符(或者其他一些「永遠不會顯示」的字符)來限定CSV創建和數據加載。同樣,數據的雙引號需要在兩端關閉。 – n0741337
到目前爲止,我只在GUI中嘗試過創造作業 - 但我會做一個自定義作業來測試。消息數據由用戶生成,因此它幾乎肯定會包含很多隨機字符。我只是需要避免它逃避報價。 – user3294345
試圖重現這一點:我在示例中看到多行,而不是多列。什麼是原始格式? –