无法将数据从S3存储桶的EMR加载到清管器(拼花文件)

时间:2018-11-13 17:26:57

标签: amazon-web-services hadoop apache-pig amazon-emr parquet

我想从EMR的Pig中的s3存储桶中加载数据,并且我的源文件格式为镶木地板:

我使用过以下命令:

SavedModel

我无法加载以下错误消息:

"location=0"

需要帮助。

2 个答案:

答案 0 :(得分:3)

事物的结合:

您应该在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;

答案 1 :(得分:1)

缺少''

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);