Как назвать выходные данные задания Kafka-HDFS-Ingestion, содержащие имена тем Apache Kafka в Apache Gobblin?
Я протестировал Gobblin с Hadoop и Apache Kafka, используя Kafka-HDFS-Ingestion Job. Пример доступен здесь. В Кафке у меня есть 2 темы, и я могу легко помещать сообщения от Кафки в HDFS.
bin/kafka-topics.sh --list --zookeeper localhost:2181
Action
Stats
__consumer_offsets
&
bin/gobblin run -jobName GobblinKafkaQuickStart -jobFile file:///home/ubuntu/Desktop/GobblinConfFiles/GobblinKafkaQuickStart.pull
Но имена файлов вывода задания Kafka-HDFS-Ingestion Job не дают никакой информации о том, какой файл принадлежит какой теме.
hdfs dfs -ls /gobblintest/job-output
Found 16 items
-rwxrwxrwx 3 ubuntu supergroup 77803462 2018-06-19 12:36 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529400961747_0.txt
-rwxrwxrwx 3 ubuntu supergroup 585 2018-06-19 12:36 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529400961747_2.txt
-rwxrwxrwx 3 ubuntu supergroup 86494813 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_0.txt
-rwxrwxrwx 3 ubuntu supergroup 707 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_1.txt
-rwxrwxrwx 3 ubuntu supergroup 259 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_10.txt
-rwxrwxrwx 3 ubuntu supergroup 259 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_11.txt
-rwxrwxrwx 3 ubuntu supergroup 259 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_12.txt
-rwxrwxrwx 3 ubuntu supergroup 28 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_13.txt
-rwxrwxrwx 3 ubuntu supergroup 585 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_2.txt
-rwxrwxrwx 3 ubuntu supergroup 399 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_3.txt
-rwxrwxrwx 3 ubuntu supergroup 546 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_4.txt
-rwxrwxrwx 3 ubuntu supergroup 259 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_5.txt
-rwxrwxrwx 3 ubuntu supergroup 259 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_6.txt
-rwxrwxrwx 3 ubuntu supergroup 259 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_7.txt
-rwxrwxrwx 3 ubuntu supergroup 259 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_8.txt
-rwxrwxrwx 3 ubuntu supergroup 259 2018-06-19 14:41 /gobblintest/job-output/part.task_GobblinKafkaQuickStart_1529408493549_9.txt
Я могу преодолеть эту проблему, добавив whitelist
Конфигурация в Kafka-HDFS-Ingestion Job и может записывать сообщения Kafka в определенные каталоги. Таким образом, я могу выполнить Kafka-HDFS-Ingestion, используя более одного задания. Таким образом, я могу понять, к какой теме относится вывод. Но это смешное решение.
Лучшее решение - объединить имя темы и имя по умолчанию и записать в один каталог.
Можете ли вы поделиться, если вы знаете решение или у вас есть идея по этому поводу?