Невозможно загрузить данные в EMR из хранилища S3 (файл паркета) - PullRequest
0 голосов
/ 13 ноября 2018

Я хочу загрузить данные из корзины s3 в Pig на EMR, и мой исходный формат файла - паркет:

Ниже команды, которую я использовал:

A = LOAD 's3://test-1/icted/emp_db/emp_tb' 
USING parquet.pig.ParquetLoader(header__change_seq:chararray,header__change_oper:chararray,header__change_mask:chararray,header__stream_position:chararray,header__operation:chararray,header__transaction_id:chararray,header__timestamp:chararray,policylangaccessind_afi:chararray,loadcommandid:double,previousgroupid:double,enddate:chararray,assignedbyuserid:double,dstcd_afi:chararray);

Я не могу загрузить данные, ниже приведены ошибки:

      ERROR pig.PigServer: exception during parsing: Error during parsing. <file test.pig, line 20, column 2>  mismatched input 'header__change_seq' expecting RIGHT_PAREN

Нужна помощь по этому вопросу.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Пара вещей:

Вы должны использовать полный путь к классу на emr org.apache.parquet.pig.ParquetLoader();нет необходимости передавать ему схему, считыватель паркетной системы сделает это за васчтобы найти версию используемого паркета)

Просто попробуйте использовать самую последнюю версию https://mvnrepository.com/artifact/org.apache.parquet/parquet-pig-bundle/1.10.0

REGISTER parquet-pig-bundle-1.10.0.jar;
0 голосов
/ 13 ноября 2018

Отсутствует ''

A = LOAD 's3://test-1/icted/emp_db/emp_tb' USING parquet.pig.ParquetLoader('header__change_seq:chararray,header__change_oper:chararray,header__change_mask:chararray,header__stream_position:chararray,header__operation:chararray,header__transaction_id:chararray,header__timestamp:chararray,policylangaccessind_afi:chararray,loadcommandid:double,previousgroupid:double,enddate:chararray,assignedbyuserid:double,dstcd_afi:chararray');

Или

Отсутствует as после ParquetLoader

A = LOAD 's3://test-1/icted/emp_db/emp_tb' USING parquet.pig.ParquetLoader AS (header__change_seq:chararray,header__change_oper:chararray,header__change_mask:chararray,header__stream_position:chararray,header__operation:chararray,header__transaction_id:chararray,header__timestamp:chararray,policylangaccessind_afi:chararray,loadcommandid:double,previousgroupid:double,enddate:chararray,assignedbyuserid:double,dstcd_afi:chararray);
...