Как я могу получить путь к файлу для фрагмента данных в Mapper задания Mapreduce?

У меня есть задание mapreduce, где путь ввода файла: /basedirectory/*/*.txt

Внутри базового каталога у меня есть разные подпапки (CaseA, CaseB и т. д.), каждая из которых содержит текстовые файлы hdfs.

На этапе карты задания я хочу выяснить, откуда именно взялся фрагмент данных (например, CaseA). Как я могу этого добиться?

Я сделал что-то подобное для заданий mapreduce с более чем 1 входной таблицей hbase, где я использую context.getInputSplit().getTableName(), чтобы найти фактическое имя таблицы, но не уверен, что делать с входными файлами HDFS.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете разделить входные данные, используя context.getInputSplit() (где context — это mapper.context), а затем использовать метод .getPath() для inputSplit, чтобы вернуть путь к файлу.

Другие вопросы по теме