我正在使用 IBM BigInsights。 当我在 Pig Grunt shell 中执行 DUMP 命令时,我没有得到任何结果。
示例输入文件:
s_no,name,DOB,mobile_no,email_id,country_code,sex,disease,age
11111,bbb1,12-10-1950,1234567890,bbb1@xxx.com,1111111111,M,Diabetes,78
11112,bbb2,12-10-1984,1234567890,bbb2@xxx.com,1111111111,F,PCOS,67
11113,bbb3,712/11/1940,1234567890,bbb3@xxx.com,1111111111,M,Fever,90
11114,bbb4,12-12-1950,1234567890,bbb4@xxx.com,1111111111,F,Cold,88
11115,bbb5,12/13/1960,1234567890,bbb5@xxx.com,1111111111,M,Blood Pressure,76
INFO [JobControl] org.apache.hadoop.mapreduce.lib.input.FileInputFormat - Total input paths to process : 1
我的代码如下:
A = LOAD 'healthcare_Sample_dataset1.csv' as(s_no:long,name:chararray,DOB:datetime,mobile_no:long,email_id:chararray,country_code:long,sex:chararray,disease:chararray,age:int);
B = FOREACH A GENERATE name;
C = LIMIT B 5;
DUMP C;
请帮我解决这个问题。
感谢和问候!!!
最佳答案
从您的脚本中我可以看出您正在使用 CSV 文件
。如果您正在使用 CSV 文件
,那么您应该在 pig 脚本中使用 CSVLoader()
。你的脚本应该是这样的:
--Register piggybank jar which contains UDF of CSVLoader
REGISTER piggybank.jar
-- Define the UDF
define CSVLoader org.apache.pig.piggybank.storage.CSVLoader();
--Load data using CSVLoader
A = load '/user/biadmin/test/CBTTickets.csv' using CSVLoader AS (
Type:chararray,
Id:int,
Summary:chararray,
OwnedBy:chararray,
Status:chararray,
Priority:chararray,
Severity:chararray,
ModifiedDate:datetime,
PlannedFor:chararray,
TimeSpent:int);
B = FOREACH A GENERATE Type;
C = LIMIT B 5;
DUMP C;
如果它不适合您,请提供您的输入数据。
关于hadoop - 转储不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30209814/