如何處理CSV文件,其中一些字段用引號括起來?Apache Pig過程CSV與包裹在引號中的字段
線爲例(字段分隔符是 '')
我COLUMN1,我列2, 「是的,我很欄3」
的例子有三個處理列。但下面的例子會說我有四列:
A =使用PigStorage(',')加載'/ path/to/file';
請有任何建議,鏈接到資源..?
如何處理CSV文件,其中一些字段用引號括起來?Apache Pig過程CSV與包裹在引號中的字段
線爲例(字段分隔符是 '')
我COLUMN1,我列2, 「是的,我很欄3」
的例子有三個處理列。但下面的例子會說我有四列:
A =使用PigStorage(',')加載'/ path/to/file';
請有任何建議,鏈接到資源..?
嘗試加載數據,然後執行FOREACH GENERATE將數據重新生成任何您需要的格式。 。對於您需要刪除引號中的字段,使用REPLACE($ 3 '\'「)
data = LOAD 'testdata' USING PigStorage(",");
data = FOREACH data GENERATE
(chararray) $0 AS col1:chararray,
(chararray) $1 AS col2:chararray,
(chararray) REPLACE($3, '\"') AS col3:chararray);
這不是一個解決方案,因爲Pig會定義四列而不是三列,例如column =「yes,我是第3列「如果使用PigStorage(」,「),則是兩列; – Tioma
嘗試[org.apache.pig.piggybank.storage.CSVLoader(HTTP://豬。 apache.org/docs/r0.8.1/api/org/apache/pig/piggybank/storage/CSVLoader.html) –