【发布时间】:2022-01-16 07:30:05
【问题描述】:
我是猪编程的新手。我有一个 txt 文件和逗号 (,) 作为分隔符。在金额列中,即; amt_IN 和 amy_OUT 是 chararray 类型,数据分别为 $830.03 和 $1392.54。 我需要 INR 中的这两列。我先从字符串中删除 $ 符号,然后尝试将其转换为浮点数。
以下是txt文件-petrol.csv
Z7O 7C2,reliance,$830.03,$1392.54,1067,722,1625
T6Q 0L9,hindustan,$994.57,$11765.97,1039,805,1626
S1J 8B8,Bharat,$881.25,$10345.43,1066,657,1627
我使用以下代码删除了 $ 符号。
A = LOAD 'project/petrol.txt' USING PigStorage(',') as (distributer_id:chararray,distributer_name:chararray,amt_IN:chararray,amy_OUT:chararray,vol_IN:int,vol_OUT:int,year:int);
DUMP A;
(Z7O 7C2,reliance,$830.03,$1392.54,1067,722,1625)
(T6Q 0L9,hindustan,$994.57,$11765.97,1039,805,1626)
(S1J 8B8,Bharat,$881.25,$10345.43,1066,657,1627)
X = FOREACH A GENERATE distributer_id,distributer_name,SUBSTRING(amt_IN,1),SUBSTRING(amy_OUT,1),vol_IN,vol_OUT,year;
DUMP X;
(Z7O 7C2,reliance,830.03,1392.54,1067,722,1625)
(T6Q 0L9,hindustan,994.57,11765.97,1039,805,1626)
(S1J 8B8,Bharat,881.25,10345.43,1066,657,1627)
我需要将 amt_IN 和 amy_OUT 转换为浮动,以便我可以将美元金额转换为 INR。
提前感谢您的帮助。
【问题讨论】:
标签: type-conversion apache-pig