Массовая загрузка в HDFS из базы данных sybase

Мне нужно загрузить данные из sybase (производственная база данных) в HDFS. При использовании sqoop это занимает очень много времени и часто попадает в производственную базу данных. Итак, я думаю создать файлы данных из дампа sybase, а затем скопировать файлы данных в hdfs. Есть ли какой-либо инструмент (с открытым исходным кодом) для создания необходимых файлов данных (плоских файлов) из дампа sybase.

Спасибо,


person user1321939    schedule 29.12.2015    source источник


Ответы (1)


Утилита командной строки iq_bcp предназначена для того, чтобы делать это отдельно для каждой таблицы. Вам просто нужно создать список таблиц, и вы можете перебирать список.

iq_bcp [ [ имя_базы_данных. ] владелец. ] имя_таблицы { в | выход } файл данных

iq_bcp MyDB..MyTable out MyTable.csv -c -t#$#

-c задает символьный (открытый текст) вывод -t позволяет настроить разделитель столбцов. Вы захотите использовать символ или серию символов, которые не появляются в вашем extact, например. если у вас есть текстовый столбец, содержащий текст с запятой, CSV будет сложно импортировать без дополнительной работы.

Sybase IQ : iq_bcp

person Michael Gardner    schedule 29.12.2015
comment
Большое спасибо, Майкл. возможно ли напрямую применить этот инструмент (с помощью команды) к дампу sybase, не затрагивая производственную базу данных. - person user1321939; 30.12.2015
comment
Нет. Его нужно запускать на работающем сервере. Альтернативой может быть восстановление дампов на резервный сервер и запуск извлечений оттуда. - person Michael Gardner; 30.12.2015