hadoop - IMPLICIT_CAST_TO_DOUBLE 警告 : Pig

标签 hadoop apache-pig cloudera

在我处理 Pig 的问题过程中,我生成了一个转换文件,其记录如下所示:

(0131228,-1.9,12.8)
(0131229,12.8,30.4)
(0131230,20.6,32.3)
(0131231,21.0,32.4)

我已将中间值 (Max_Temp) 和结束值 (Min_Temp) 转换为两倍。

B1 = LOAD '/tmp/PigLoadSandstoneData/part-m-00000' USING PigStorage(',') AS (Dated: CHARARRAY, Min_Temp: DOUBLE, Max_Temp: DOUBLE);

我想根据我正在使用以下语句进行的比较来过滤掉结果:

X = filter B1 by Max_Temp>25.0;
X = filter B1 by Min_Temp<0.0;

我不确定它为什么抛出 IMPLICIT_CAST_TO_DOUBLE 错误消息:

grunt> X = filter B1 by (Max_Temp>25.0);
2014-04-08 05:42:58,925 [main] WARN  org.apache.pig.PigServer - Encountered Warning IMPLICIT_CAST_TO_DOUBLE 1 time(s).

任何人都可以建议我在这里做错了什么吗?有什么解决办法吗?

谢谢- 阿迪尔

最佳答案

试一试,然后告诉我一个是否有效:

  1. 我会尝试在 FILTER 语句中加入强制转换,例如,

    X = 通过 (double)Max_Temp>25.0 过滤 B1;

  2. Pig 正在重铸的数据集中某处存在空值并非不可能。尝试过滤掉空值。如果你想用空值做一些事情(例如,将它设置为 0)试试 COALESCE .

关于hadoop - IMPLICIT_CAST_TO_DOUBLE 警告 : Pig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22937673/

相关文章:

hadoop - hive-hbase 集成错误

java - Hadoop和jgit在java.io.file和dataoutputstream之间转换

hadoop - Oozie - 通过 Action 配置在 DistCp 上设置策略

hadoop - 从 CSV 文件加载中删除 header

hadoop - 在 CDH4.0.1 VM 上使用 MRV1 运行 wordcount 示例

hadoop - Pig中是否可以通过类似于hadoop -archives的方式来发送存档文件

hadoop - pig : add all chararrays in a relation to a single tuple

hadoop - 从文件名中提取时间戳,并使用Pig将其添加到新列(例如,日期)中

azure - Cloudera on cloud (Azure) 架构说明

hadoop - Sqoop2:在connectorForm中设置table.sql(免费使用查询)在createJob()上返回 'unacceptable'状态