2017-06-15 62 views
0

我想将一个xlsx文件加载到猪关系中。该文件可以包含带有“,”的数据作为数据的一部分。所以我不能将其转换为CSV并加载它。所以我试图把xlsx文件加载到一个pig关系中,并将其用于进一步处理。将一个xlsx文件加载到猪关系中

但我不确定如何将xlsx文件加载到pig关系中。我尝试了几个选项,如下所示,但没有成功。当我转储数据时,它不会提供任何可读的输出。在XLSX文件

的样本数据

ColumnA ColumnB ColumnC

在003倡导

在004商务

在005会计师,CA

REGISTER /usr/lib/pig/piggybank.jar; 
Data = load '/user/cloudera/kbk/occcd.xlsx' using org.apache.pig.piggybank.storage.CSVExcelStorage(',', 'NO_MULTILINE', 'NOCHANGE', 'SKIP_INPUT_HEADER') as (country:chararray,ccode:chararray;cdesc;chararray); 

a = load '' Using PigStorage('\t') As (country:chararray,ccode:chararray;cdesc;chararray); 

任何帮助将不胜感激。

谢谢。

+0

在Excel中你必须将文件保存为制表符分隔的选择 “文本文件(制表符分隔)(*。TXT)”。然后使用制表符(默认)作为字段分隔符将该制表符分隔的文件加载到Pig中。这样,数据中的逗号就会保留。 –

+0

谢谢你的建议。我会检查出来。 – Bharath

回答

0

您的schema.Field存在语法问题:数据类型声明必须用':'和Fields','分隔。

(country:chararray,ccode:chararray;cdesc;chararray); 

将其更改为

(country:chararray,ccode:chararray,cdesc:chararray); 
+0

嗨,这是一个错字。我已经检查了这里给出的正确语法。但我没有得到任何适当的输出。 – Bharath

相关问题