2016-03-13 3 views
0

Я пытаюсь загрузить файл CSV с помощью Pig, но CSV-файл уже содержит «запятые» в некоторых столбцах, поэтому использование PigStorage (',') дает мне неправильные ответы.Загрузить CSV с помощью Pig

Я уже пробовал эти:

REGISTER /......./piggybank.jar 

LOAD '...PATH_TO_INPUT_FILE' USING CSVLoader(',') AS (...fieldnames) 

и

LOAD '...PATH_TO_INPUT_FILE' USING CSVExcelStorage(',') AS (...fieldnames) 

И все они не дают желаемого результата. Запись, которая не содержит запятой в своих значениях, они работают нормально, но остальные из них не являются.

+0

Вы можете разместить несколько входных строк из набора данных, которые вы пытаетесь обработать? – CodeReaper

+0

Итак, у вас есть файл CSV со значениями, разделенными запятой, но некоторые из значений содержат запятые и не экранируются каким-либо образом? Если это так, у вас проблемы ... – LiMuBei

ответ

0

Вы определили метод CSVLoader() или CSVExcelStorage()?

DEFINE CSVLoader org.apache.pig.piggybank.storage.CSVLoader(); 

ИЛИ

DEFINE CSVExcelStorage() org.apache.pig.piggybank.storage.CSVExcelStorage(); 

Или же вы можете передать метод непосредственно как этот

LOAD 'test.txt' USING org.apache.pig.piggybank.storage.CSVLoader(',') 
LOAD 'test.txt' USING org.apache.pig.piggybank.storage.CSVExcelStorage(',') 
+0

Не пробовал DEFINE один, но попробовал два других: LOAD 'test.txt' ИСПОЛЬЗОВАНИЕ org.apache.pig.bank.storage.CSVLoader (',') LOAD 'test.txt' ИСПОЛЬЗОВАНИЕ org.apache.pig.piggybank.storage.CSVExcelStorage (',') Это не работает. –

 Смежные вопросы

  • Нет связанных вопросов^_^