Druid batch indexing inputSpec гранулярность типа, ошибка при отсутствии входных путей, указанных в задании

Я следую инструкции, написанной здесь: http://druid.io/docs/0.9.2/ingestion/batch-ingestion.html (перейдите к «Спецификация InputSpec», найдите «детализацию»).

В моей задаче индексирования JSON есть:

"inputSpec": {
  "type": "granularity",
  "dataGranularity": "DAY",
  "inputPath": "hdfs://hadoop:9000/druid/events/interview",
  "filePattern": ".*",
  "pathFormat": "'y'=yyyy/'m'=MM/'d'=dd"
} 

У меня уже есть мои файлы, организованные в HDFS следующим образом (я сделал это специально, думая, что буду использовать тип «гранулярность» в своей задаче индексирования):

введите здесь описание изображения

Продолжаю получать эту ошибку (сбой при индексации):

Caused by: java.io.IOException: No input paths specified in job
    at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:231) ~[?:?]
    at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:340) ~[?:?]
    at org.apache.hadoop.mapreduce.JobSubmitter.writeNewSplits(JobSubmitter.java:493) ~[?:?]
    at org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:510) ~[?:?]
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:394) ~[?:?]
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285) ~[?:?] 

Погуглил, две страницы говорили об одной и той же проблеме:

Оба упоминали установку значения "filePattern" на ". *". Сделал это, не повезло.

Чтобы убедиться, что моя ссылка Druid-Hadoop работает, я попытался изменить свой inputSpec на static:

"inputSpec": {
  "type": "static",
  "paths": "hdfs://hadoop:9000/druid/events/interview/y=2016/m=11/d=06/event.json,hdfs://hadoop:9000/druid/events/interview/y=2016/m=11/d=07/event.json"
}

Оно работает. Итак, с моими Druid и Hadoop проблем нет.

Эта "гранулярность" inputSpec нарушена в Druid (я использую 0.9.2)? Потому что я не вижу ничего плохого в моем inputSpec (тип детализации один); по крайней мере, в соответствии с документами и форумом, которые я читал.

А пока я могу использовать статический (и построить свою длинную строку путей), но этот тип «детализации» был бы идеальным (если бы он работал).

Может ли кто-нибудь пролить здесь свет?

Спасибо.


person Cokorda Raka    schedule 24.03.2017    source источник


Ответы (1)


Попробуйте добавить / в конец шаблона пути: "pathFormat": "'y' = yyyy / 'm' = MM / 'd' = dd /"

person giwyni    schedule 09.08.2017