2016-11-07 400 views
0

我在通过sqoop导出将数据从Hive导出到Netezza时面临性能问题。sqoop导出性能问题

有什么办法可以改善sqoop的性能吗?

下面是详细信息:在sqoop export命令

columns present in the table(source and destination) : 282 
format of file : text 
no of splits: 99 
data to be exported : 1000 MB 
+0

你可以添加你的示例'sqoop'命令吗? –

+0

我会要求你将进程分解成多个线程,并行加载可以提高传输速度 – NzGuy

+0

以下是使用的示例sqoop命令:sqoop export -Dmapreduce.job.queuename = QUEUENAME --connect jdbc:netezza://SERVER_STRING/DB_NAME --username USER --password-file/PATH --table TABLE_NAME --batch --columns“282 COLOUMNS列表”--export-dir/DIR_PATH --input-fields-terminated-by'\ 001 '--lines-terminated-by'\ n'--input-null-string“\\\ N”--input-null-non-string“\\\ N”-m 100 –

回答

1

使用-batch。 另外

为了进一步改善数据加载,你可以使用--direct。 限制:此模式不支持二进制和大对象类型。

0

什么是您的群集大小以及您可以分配给您的Sqoop作业的最大时隙数量?相应地给-m。这会增加总体处理时间。但请确保sqoop导出不是原子进程,因此创建一个临时表,然后使用临时表导出数据,否则可能会出现数据不一致的情况。