![](/img/trans.png)
[英]How to Load the Data with out text qualifiers using PIG/HIVE/Hbase?
[英]How to load the data without text qualifiers dynamically from a file using PIG/HIVE/HBASE?
我的csv文件包含150列! 它包含""
作为文本限定符。 如何使用pig/hive/hbase dynamic
脚本删除引号( ""
)? 同样,我有多个文件(50个具有不同列的csv文件)。 如何从不同文件中删除这些""
?
我尝试使用以下猪脚本在文件中的2列:
A = LOAD 'hdfs://<hostname>:<port>/user/test/input.csv' AS line;
B = FOREACH A GENERATE FLATTEN(REGEX_EXTRACT_ALL(line,'"(.*)","(.*)"')) AS (id:int,name:chararray);
STORE B INTO '/user/test/output' USING PigStorage(',');
任何帮助,将不胜感激。
你可以这样尝试吗?
input.txt
"123","456","789"
"abc","def","ghi"
PigScript:
A = LOAD 'input.txt' AS line;
B = FOREACH A GENERATE REPLACE(line,'\\"','') AS line1;
C = FOREACH B GENERATE FLATTEN(STRSPLIT(line1,'\\,',3));
D = FOREACH C GENERATE $0,$1,$2;
DUMP D;
输出:
(123,456,789)
(abc,def,ghi)
在您的情况下,您可以将上面的第三行更改为STRSPLIT(line1,'\\\\,',150)
,其中150是列的总数,您可以按$0,$1...$149
访问所有值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.