Как ежедневно копировать огромный файл (200-500 ГБ) с сервера Teradata на HDFS - PullRequest
0 голосов
/ 07 января 2019

У меня есть файлы teradata на сервере SERVER A, и мне нужно скопировать их на сервер B в HDFS. какие варианты у меня есть? distcp правил, потому что Teradata не на HDFS scp не подходит для огромных файлов Flume и Kafka предназначены для потоковой передачи, а не для перемещения файлов. Даже если я использую Flume, используя Spool_dir, это будет излишним.

Единственный вариант, о котором я могу подумать, - это NiFi. Кто-нибудь есть какие-либо предложения о том, как я могу использовать Nifi? или, если кто-то уже прошел через такие сценарии, какой подход использовался?

1 Ответ

0 голосов
/ 08 января 2019

Я специально не работал с потоком данных Teradata в NiFi, но, работая с другими источниками SQL на NiFi, я считаю, что можно и довольно просто разработать поток данных, который принимает данные из Teradata в HDFS.

Для начала вы можете выполнить быструю проверку с помощью ExecuteSQL процессора, доступного в NiFi. Связанные с SQL процессоры принимают одно свойство DBCPConnectionPool, которое представляет собой службу контроллера NiFi, которая должна быть настроена с URL-адресом JDBC вашего сервера Teradata, а также путем к драйверу и имени класса драйвера. Как только вы подтвердите правильность подключения, вы можете взглянуть на GenerateTableFetch / QueryDatabaseTable

В Hortonworks есть статья, в которой рассказывается о настройке DBCPConnectionPool с сервером Teradata: https://community.hortonworks.com/articles/45427/using-teradata-jdbc-connector-in-nifi.html

...