Проблема реализации при каскадировании при чтении данных из hdfs

Предположим, у меня есть эти файлы в каталоге hdfs

500/Customer/part-001
500/Customer/part-002
500/Customer/part-003

Можно ли проверить, из какого файла части идет кортеж?

Примечание: я исследовал, но ничего не получил.


person Novice    schedule 04.08.2016    source источник
comment
добавить пример/образец кортежа и данные из этого файла. . .   -  person Ronak Patel    schedule 04.08.2016


Ответы (2)


ваш вопрос не очень ясен. Допустим, ваш вывод находится в следующем макете, а разделитель - ';'

идентификатор;имя;возраст

1; Иордания; 22

2;Натан;33

и так далее

Вы можете использовать awk или grep или оба, чтобы получить запись

например, если вы хотите найти запись Nathan, попробуйте команду file

grep -r "Натан" часть*

вышеприведенная команда будет искать строку «Nathan», и если строка присутствует в каком-либо файле части, то первая запись (слово) в выводе будет именем файла.

если вам не нужно имя файла, которое вы могли бы использовать

grep -hr Часть "Натан"*

Пожалуйста, будьте более четкими, когда задаете вопросы.

person lambad    schedule 27.08.2016

Я получил ответ, как получить, из какого файла файла части идет файл кортежа. Я решил свою проблему, используя приведенный ниже код.

String fileName = flowProcess.getProperty("cascading.source.path").toString();

Спасибо,

person Novice    schedule 24.03.2017