我試圖解析以下輸入(有2個記錄在該輸入)使用Elephantbird JSON裝載機阿帕奇PIG,ELEPHANTBIRDJSON裝載機
[{ 「node_disk_lnum_1」:36, 「node_disk_xfers_in_rate_sum」:136.40000000000001,」 node_disk_bytes_in_rate_22 「: 187392.0, 」node_disk_lnum_7「:13}]
[{」 node_disk_lnum_1 「:36, 」node_disk_xfers_in_rate_sum「: 105.2,」 node_disk_bytes_in_rate_22" :123084.8, 「node_disk_lnum_7」:13}]
這是我的語法:
register '/home/data/Desktop/elephant-bird-pig-4.1.jar';
a = LOAD '/pig/tc1.log' USING
com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad') as (json:map[]);
b = FOREACH a GENERATE flatten(json#'node_disk_lnum_1') AS
node_disk_lnum_1,flatten(json#'node_disk_xfers_in_rate_sum') AS
node_disk_xfers_in_rate_sum,flatten(json#'node_disk_bytes_in_rate_22') AS
node_disk_bytes_in_rate_22, flatten(json#'node_disk_lnum_7') AS
node_disk_lnum_7;
DESCRIBE b;
b描述的結果:
B:{node_disk_lnum_1:字節組,node_disk_xfers_in_rate_sum: 字節組,node_disk_bytes_in_rate_22:字節組,node_disk_lnum_7: 的bytearray}
c = FOREACH b GENERATE node_disk_lnum_1;
DESCRIBE c;
C:{node_disk_lnum_1:字節組}
DUMP c;
預期結果:
36,136.40000000000001,187392.0,13
36,105.2,123084.8,13
投擲下面的錯誤
2017年2月6日01:05:49337 [主要] INFO org.apache.pig.tools.pigstats.ScriptState - 豬在 腳本使用的功能:UNKNOWN 2017- 02-06 01:05:49,386 [main] INFO org.apache.pig.data.SchemaTupleBackend - 密鑰[pig.schematuple]不是 set ...不會生成代碼。 2017年2月6日01:05:49387 [主要] INFO org.apache.pig.newplan.logical.optimizer.LogicalPlanOptimizer - {RULES_ENABLED = [AddForEach,ColumnMapKeyPrune,ConstantCalculator, GroupByConstParallelSetter,LimitOptimizer,LoadTypeCastInserter, MergeFilter, MergeForEach,PartitionFilterOptimizer, PredicatePushdownOptimizer,PushDownForEachFlatten,PushUpFilter, SplitFilter,StreamTypeCastInserter]} 2017年2月6日01:05:49390 [主] INFO org.apache.pig.newplan.logical.rules.ColumnPruneVisitor - 所需的地圖 關鍵對於:$ 0 - > [node_disk_lnum_1, node_disk_xfers_in_rate_sum,node_disk_bytes_in_rate_22, node_disk_lnum_7]
2017-02-06 01:05:49,395 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - 文件連接閾值:100樂觀?假2017-02-06 01:05:49,398 [main] INFO org.apache.pig.backend。hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - 優化前的MR計劃大小:1 2017-02-06 01:05:49,398 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan大小優化後:1 2017-02-06 01:05:49,425 [main] INFO org.apache.pig.tools.pigstats.mapreduce.MRScriptState - 豬 腳本設置被添加到作業2017-02-06 01:05 :49,426 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - mapred.job.reduce.markreset.buffer.percent未設置,默認設置爲0.3 2017-02-06 01 :05:49,428 [main]錯誤 org.apache.pig.tools.grunt.Grunt - 錯誤2998:未處理的內部 錯誤。 com/twitter/elephantbird/util/HadoopCompat
請幫助我失去了什麼?
感謝您的解決方案:) @inquisitive_mind –