我有以下资料
"a","b","1","2"
"a","b","4","3"
"a","b","3","1"
我正在使用下面的命令读取此文件
File1 = LOAD '/path' using PigStorage (',') as (f1:chararray,f2:chararray,f3:int,f4:int)
但在这里它忽略了字段3和字段4的数据
如何正确读取此文件或以任何方式使pig跳过''
其他信息我正在使用apache pig版本0.10.0
我有以下资料
"a","b","1","2"
"a","b","4","3"
"a","b","3","1"
我正在使用下面的命令读取此文件
File1 = LOAD '/path' using PigStorage (',') as (f1:chararray,f2:chararray,f3:int,f4:int)
但在这里它忽略了字段3和字段4的数据
如何正确读取此文件或以任何方式使pig跳过''
其他信息我正在使用apache pig版本0.10.0
5条答案
按热度按时间juzqafwq1#
如果你有
Jython
你可以部署一个简单的UDF
完成任务。python自定义项
Pig手稿
pdkcd3nj2#
你可以用
REPLACE
功能(但不会一次完成):您也可以将正则表达式与
REGEX_EXTRACT
:当然,你可以删除
"
对于f1和f2,方法相同。w8ntj3qf3#
您可以使用来自pig的csvexcelstorage加载程序。数据中的双引号由这个加载程序处理。你必须注册存钱罐才能使用这个加载器。
Register ${jar_location}/piggybank-0.15.0.jar;
```load_data = load '${data_location}' using
org.apache.pig.piggybank.storage.CSVExcelStorage(',');
l5tcr1uw4#
请尝试以下操作(无需转义或替换双引号):
0pizxfdo5#
换用怎么样?如果这个案子这么简单?
还有一个提示:如果您正在加载一个csv文件,那么在类似excel的工具中设置一个正确的数字格式也会有所帮助。