当我用这个命令加载这个数据时 A = LOAD '/USER/XYZ/PIG/FILENAME.CSV' USING PIGSTORAGE(',') as (NAME:chararray,JOB:chararray, Salary:chararray) ; “$12,00”中的逗号被视为分隔字符,仅加载$12。有什么解决办法吗?是否可以将salary字段加载为整数(也忽略“$”符号)。。
A = LOAD '/USER/XYZ/PIG/FILENAME.CSV' USING PIGSTORAGE('|') as (NAME:chararray,JOB:chararray, Salary:chararray) ;
A1 = FOREACH A GENERATE NAME,JOB,(int)REPLACE(Salary,'([^a-zA-Z0-9.,\\s]+)','');
5条答案
按热度按时间xuo3flqw1#
请按照以下步骤操作:
我不想用Pig来储存,
org.apache.pig.piggybank.storage.CSVExcelStorage()
不要使用chararray,而是将salary的数据类型指定为float。fjaof16o2#
杰克,12,00美元
57hvy0tb3#
当我用这个命令加载这个数据时
A = LOAD '/USER/XYZ/PIG/FILENAME.CSV' USING PIGSTORAGE(',') as (NAME:chararray,JOB:chararray, Salary:chararray) ;
“$12,00”中的逗号被视为分隔字符,仅加载$12。有什么解决办法吗?是否可以将salary字段加载为整数(也忽略“$”符号)。。n8ghc7c14#
约翰,人力资源部,24,00美元
mpbci0fu5#
使用“|”作为分隔符加载文件。对于$符号,请使用replace命令,然后将字段强制转换为int