Я пытаюсь разобрать ниже входа (есть 2 записей в этом входе) с использованием JSon погрузчик ElephantbirdApache PIG, ELEPHANTBIRDJSON Loader
[{ "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;
б описывают результат:
б: {node_disk_lnum_1: ByteArray, node_disk_xfers_in_rate_sum: ByteArray, node_disk_bytes_in_rate_22: ByteArray, node_disk_lnum_7: ByteArray}
c = FOREACH b GENERATE node_disk_lnum_1;
DESCRIBE c;
C: {node_disk_lnum_1: ByteArray}
DUMP c;
Ожидаемые результаты:
36, +136,40000000000001, 187392,0, 13
36, 105.2, 123084,8, 13
Бросив ошибку ниже
2017-02-06 01: 05: 49337 [главная] INFO org.apache.pig.tools.pigstats.ScriptState - Pig функции, используемые в сценария: UNKNOWN 2017- 02-06 01: 05: 49,386 [main] INFO org.apache.pig.data.SchemaTupleBackend - Key [pig.schematuple] не был set ... не будет генерировать код. 2017-02-06 01: 05: 49387 [Основная] ИНФО org.apache.pig.newplan.logical.optimizer.LogicalPlanOptimizer - {RULES_ENABLED = [AddForEach, ColumnMapKeyPrune, ConstantCalculator, GroupByConstParallelSetter, LimitOptimizer, LoadTypeCastInserter, MergeFilter, MergeForEach, PartitionFilterOptimizer, PredicatePushdownOptimizer, PushDownForEachFlatten, PushUpFilter, SplitFilter, StreamTypeCastInserter]} 2017-02-06 01: 05: 49390 [главная] INFO org.apache.pig.newplan.logical.rules.ColumnPruneVisitor - требуется карта ключ для a: $ 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 оптимистичен? false 2017-02-06 01: 05: 49,398 [main] INFO org.apache.pig.backend.hasoop.executionengine.mapReduceLayer.MultiQueryOptimizer - Размер плана MR перед оптимизацией: 1 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,425 [main] INFO org.apache.pig.tools.pigstats.mapreduce.MRScriptState - Pig настройки скрипта добавлены в задание 2017-02-06 01:05 : 49,426 [main] INFOorg.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 –