Hadoop lzo одиночный разделитель после индекса

У меня есть сжатый LZO-файл /data/mydata.lzo, и я хочу запустить его, используя некоторый код MapReduce, который у меня есть. Сначала я создаю файл индекса с помощью пакета hadoop-lzo со следующей командой:

>> hadoop jar hadoop-lzo-0.4.21.jar \
    com.hadoop.compression.lzo.DistributedLzoIndexer \
    /data/mydata.lzo

Это работает успешно

17/01/04 11:06:31 INFO mapreduce.Job: Running job: job_1472572940387_17794
17/01/04 11:06:41 INFO mapreduce.Job: Job job_1472572940387_17794 running in uber mode : false
17/01/04 11:06:41 INFO mapreduce.Job:  map 0% reduce 0%
17/01/04 11:06:52 INFO mapreduce.Job:  map 86% reduce 0%
17/01/04 11:06:54 INFO mapreduce.Job:  map 100% reduce 0%
17/01/04 11:06:54 INFO mapreduce.Job: Job job_1472572940387_17794 completed successfully

и создает файл /data/mydata.lzo.index. Теперь я хочу запустить это через другой код Hadoop Java.

hadoop jar myjar.jar -input /data/mydata.lzo

Он выполняется правильно, но занимает НАВСЕГДА. Я заметил, что он разбивает файл только один раз (когда я запускаю это же задание с файлами, отличными от LZO, он разбивает его примерно 25 раз)

mapreduce.JobSubmitter: number of splits:1

Что я делаю неправильно?

Документации по hadoop-lzo немного не хватает. В нем говорится: «Теперь запустите любое задание, скажем, подсчет слов, над новым файлом». Сначала я подумал, что должен использовать файл /data/mydata.lzo.index в качестве входных данных, но при его использовании я получаю пустой вывод. В документации также говорится: «Обратите внимание, что если вы забудете проиндексировать файл .lzo, задание будет работать, но будет обрабатывать весь файл за один раз, что будет менее эффективно». Так что по какой-то причине он не видит файл index.

Как правильно передать индексный файл?

EDIT: Согласно этой проблеме на GitHub index файл выводится автоматически и разделяется в соответствии с размером файла. Все еще не уверен, почему я получаю один сплит.


person Sal    schedule 04.01.2017    source источник
comment
какой размер исходного файла? А после сжатия? Я надеюсь, что размер вашего файла больше, чем свойство минимального размера разделения   -  person Preeti Khurana    schedule 09.01.2017


Ответы (1)


попробуй это:

hadoop jar myjar.jar -input /data/mydata.lzo -input /data/mydata.lzo.index
person Codefor    schedule 02.08.2017