2
我試圖通過文件插入到Hive表中。但恰巧,文本文件中的最後一列的數據溢出了不同的行。在Hive中插入多行代碼
示例數據:
col1|col2|col3|this line is spilling into different line
as is this, this is spilling this is spilling this is sp
iliing and so is this
col1|col2|col3|this can be inserted without problem
所以溢出的數據被視爲一個新行到包裝到最後一列。我嘗試使用由選項終止的行,但不能得到這個工作。
這是很難找出哪個換行是字段的一部分,哪些是記錄/元組分隔符。簡單的方法是逃避領域的一部分。另一種方法是在包含分隔符(字段或記錄分隔符)的字段周圍使用字符串標識符(例如引號)。如果你不能這樣做,我想你必須編寫一個serde或者一個存儲函數,如果數據不包含分隔符,那麼就會發現數據屬於之前的記錄 – SNeumann
@ SNeumann,我想你是對的,我觀察到這個behaiour發生在某些值上,並從中刪除換行符。我能夠這樣做,謝謝。但是我將在列中存儲少量的日誌值,並且在某些時候它可能確實是必需的。 –