Hadoop 阿帕奇清管器式铸造
我正在使用ApachePig做一些数据处理工作。我写了一个像这样的拉丁猪字:Hadoop 阿帕奇清管器式铸造,hadoop,apache-pig,Hadoop,Apache Pig,我正在使用ApachePig做一些数据处理工作。我写了一个像这样的拉丁猪字: raw = Load 'data.csv' USING MyLoader(); repaired = FOREACH raw GENERATE MyRepairFunc(*); filtered = FOREACH repaired GENERATE $0 AS name:chararray, $3 AS age:int; DUMP filtered; Pig出现了一个错误: java.lang.ClassCastE
raw = Load 'data.csv' USING MyLoader();
repaired = FOREACH raw GENERATE MyRepairFunc(*);
filtered = FOREACH repaired GENERATE $0 AS name:chararray, $3 AS age:int;
DUMP filtered;
Pig出现了一个错误:
java.lang.ClassCastException: org.apache.pig.data.DataByteArray cannot be cast to java.lang.Integer
at org.apache.pig.backend.hadoop.HDataType.getWritableComparableTypes(HDataType.java:115)
at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce$Map.collect(PigGenericMapReduce.java:124)
at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.runPipeline(PigGenericMapBase.java:281)
at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:274)
at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:64)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
java.lang.ClassCastException:org.apache.pig.data.DataByteArray不能转换为java.lang.Integer
位于org.apache.pig.backend.hadoop.HDataType.getWritableComparableTypes(HDataType.java:115)
位于org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce$Map.collect(PigGenericMapReduce.java:124)
位于org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.runPipeline(PigGenericMapBase.java:281)
位于org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:274)
位于org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase.map(PigGenericMapBase.java:64)
位于org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
位于org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
位于org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
这是一个数据转换问题。由于原始数据可能包含一些损坏的记录,我无法在加载时确定模式,以防数据丢失
那我该怎么做才能解决这个问题呢?非常感谢您应该在数据分析之前修复原始数据(数据清理) 有一个pig UDF,试图用预期的模式清理原始数据,但没有合并到主分支中。 UDF用于数据清理具有预期模式的脏数据 您可以尝试使用自己喜欢的工具清理原始数据。 请参阅中推荐的工具
在数据分析之前,您应该修复原始数据(数据清理) 有一个pig UDF,试图用预期的模式清理原始数据,但没有合并到主分支中。 UDF用于数据清理具有预期模式的脏数据 您可以尝试使用自己喜欢的工具清理原始数据。 请参阅中推荐的工具