gpt4 book ai didi

csv - 处理 PIG 中的货币值 - pigstorage

转载 作者:可可西里 更新时间:2023-11-01 16:44:21 24 4
gpt4 key购买 nike

我在 HDFS 中加载了 2 列 CSV 文件。第 1 列是型号名称,第 2 列是以美元为单位的价格。 示例 - 型号:IE33,价格:52678.00 美元

当我运行以下脚本时,价格值全部返回为两位数的结果示例 $52。

ultraPrice = LOAD '/user/maria_dev/UltrasoundPrice.csv' USING PigStorage(',') AS (
Model, Price);

dump ultraPrice;

我所有的值(value)都在 20000 美元到 60000 美元之间。我不知道为什么它被切断了。

如果我更改 CSV 文件并从价格值中删除 $ 一切正常,但我知道必须有更好的方法。

最佳答案

请注意,在您的加载语句中,您没有指定数据类型。默认情况下,模型和价格的类型为 bytearray,因此存在差异。

您可以从 csv 文件中删除 $ 或将数据加载为 chararray 并替换 $ 符号并将其转换为 float。

A = LOAD '/user/maria_dev/UltrasoundPrice.csv' USING TextLoader() as (line:chararray);
A1 = FOREACH A GENERATE REPLACE(line,'([^a-zA-Z0-9.,\\s]+)','');
B = FOREACH A1 GENERATE FLATTEN(STRSPLIT($0,','));
B1 = FOREACH B GENERATE $0 as Model,(float)$1 as Price;
DUMP B1;

关于csv - 处理 PIG 中的货币值 - pigstorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37860779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com