Лучший способ автоматизировать получение данных из CSV-файлов в Datalake
Мне нужно получить данные из CSV-файлов (ежедневное извлечение из различных бизнес-баз данных) в HDFS, а затем переместить их в Hbase и, наконец, взимать плату за эти данные на datamart (sqlServer).
Я хотел бы знать лучший способ автоматизировать этот процесс (с помощью инструментов Java или Hadoops)
2 ответа
Я бы повторил комментарий выше. Kafka Connect, который является частью Apache Kafka. При этом вы просто используете файлы конфигурации для потоковой передачи из ваших источников, вы можете использовать KSQL для создания производных / обогащенных / агрегированных потоков, а затем передавать их в HDFS/Elastic/HBase/JDBC/ и т. Д. И т. Д. И т. Д.
Здесь есть список соединителей Kafka Connect.
Эта серия блогов посвящена основам:
- https://www.confluent.io/blog/simplest-useful-kafka-connect-data-pipeline-world-thereabouts-part-1/
- https://www.confluent.io/blog/blogthe-simplest-useful-kafka-connect-data-pipeline-in-the-world-or-thereabouts-part-2/
- https://www.confluent.io/blog/simplest-useful-kafka-connect-data-pipeline-world-thereabouts-part-3/
Мало ли кодирование не требуется? Без определенного порядка
- Talend Open Studio
- Сборщик данных Streamsets
- Apache Nifi
Предполагая, что вы можете настроить кластер Kafka, вы можете попробовать Kafka Connect
Если вы хотите что-то запрограммировать, вероятно, Spark. В противном случае выберите свой любимый язык. Запланируйте работу через Oozie
Если вам не нужны необработанные данные HDFS, вы можете загрузить их непосредственно в HBase