小编jr4*_*r42的帖子

Hadoop/Pig CSVExcelStorage具有不同的分隔符

在PiggyBank的CSVExcelStorage中使用以下输入文件可以正常工作:

Col1,Col2,Col3
1,2,3
"1","2","3"
Run Code Online (Sandbox Code Playgroud)

小猪脚本

REGISTER /usr/lib/pig/piggybank.jar;
DEFINE CSVExcelStorage org.apache.pig.piggybank.storage.CSVExcelStorage; 
a = LOAD '/path/to/file.csv' USING CSVExcelStorage()
b = FOREACH a GENERATE $1;
DUMP b
Run Code Online (Sandbox Code Playgroud)

按预期工作并返回

(Col2)
(2)
(2)
Run Code Online (Sandbox Code Playgroud)

使用分号作为分隔符执行相同操作不起作用:

Col1;Col2;Col3
1;2;3
"1";"2";"3"
Run Code Online (Sandbox Code Playgroud)

经过调整的猪脚本

REGISTER /usr/lib/pig/piggybank.jar;
DEFINE CSVExcelStorage org.apache.pig.piggybank.storage.CSVExcelStorage; 
a = LOAD '/path/to/file.csv' USING CSVExcelStorage(';')
b = FOREACH a GENERATE $1;
DUMP b
Run Code Online (Sandbox Code Playgroud)

简单地回来

()
()
()
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

csv hadoop apache-pig

1
推荐指数
1
解决办法
5147
查看次数

标签 统计

apache-pig ×1

csv ×1

hadoop ×1