2017-06-15 31 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