2016-09-13 2 views
0

У меня есть сценарий на Linux-сервере (Cloudera), который использует unixODBC/isql для извлечения данных с сервера Netezza. Он генерирует текстовый файл в локальной файловой системе и затем помещает его в HDFS.Загрузка данных в HDFS с помощью unixODBC/isql

export ODBCHOME=; 
export ODBCINI=; 
export LIBPATH=; 
export LD_LIBRARY_PATH=; 

NZ_ODBC_INI_PATH=/home/myuser/sql/; 
export NZ_ODBC_INI_PATH; 
export ODBCINI=/home/myuser/sql/odbc.ini; 

export NZ_HOME=/usr/local/nz; 
export PATH=$PATH:$NZ_HOME/bin64; 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NZ_HOME/lib64; 
export NZ_HOST=myntzserver 

EXTRACT_PATH=/home/myuser/trgt_path/; 
export EXTRACT_PATH; 

cd $EXTRACT_PATH; 

hive_char=`printf "\035\n"` 

isql nettezaServer1 tsg1dev \$\$infadmin11 -v<<EOF 
drop table test_1; 
CREATE EXTERNAL TABLE test_1 (GRP BIGINT, ID BIGINT, DATA CHARACTER V VARYING(10)) USING (DATAOBJECT ("$EXTRACT_PATH/test_1.txt") REMOTESOURCE 'ODBC' delimiter 2); 
insert into test_1 SELECT GRP,ID,DATA FROM SCHEMA1..test_table; 
EOF 

hdfs dfs -put /home/myuser/trgt_path/test_1.txt /user/projects/my_dir/ 

мне интересно, если есть способ, чтобы либо подключаться непосредственно к HDFS, или трубы данных в HDFS, как это происходит. Другими словами, я хочу, чтобы пропустить создание текстового файла в локальной файловой системе из-за к пространственным ограничениям (исходная таблица - сотни ГБ).

Причина, по которой я не использую sqoop, заключается в том, что время, которое требуется, слишком велико для требований проекта. Сценарий выше может создать текстовый файл за 2-3 часа, тогда как sqoop в среднем занимает 7-8 для загрузки данных. Эксперт sqoop моей команды попытался точно настроить команду, чтобы сократить время, но не повезло.

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

ответ

0

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

В то время как право на использование программного обеспечения Fluid Query входит в состав Netezza, администратор должен будет установить и настроить его перед использованием.

Here's a quick overview of Fluid Query.

Смежные вопросы