2

我最近开始sqoop - hive/hadoop在 Linux 上工作。我必须将 hive 数据从一个表导入到 oracle 表。我正在使用简单sqoop的导出来执行此操作。我在蜂巢表中有 600 万行。

这个命令给了我很差的性能并且需要很长时间(85 分钟)才能完成这项工作。

查询 ->

sqoop export --connect jdbc:oracle:thin:@server:port:db--username user --password password--export-dir /user/hive/warehouse/tb --table tb--columns 'col1,col2..col33'  --input-fields-terminated-by  ','  --input-null-string '\\N' --input-null-non-string '\\N'  -m 1

是否有任何配置更改可以帮助我加快速度。

4

2 回答 2

0

没有任何额外信息很难提供帮助。我建议再次开始导出工作并监视环境以查看瓶颈在哪里(数据库?网络?hadoop?)。尝试使用 OraOop连接器也可能会有所帮助,因为它通常更快。

于 2013-08-14T14:34:18.950 回答
0

这是一个“宽”数据集吗?如果列数非常多(数百),则可能是 sqoop 错误https://issues.apache.org/jira/browse/SQOOP-2920,sqoop开始阻塞(cpu 上非常高)。

当字段数量很少时,通常情况相反——当 sqoop 很无聊并且 Oracle 跟不上时。在这种情况下,我们通常不会超过 45-55 个映射器。

于 2016-05-03T18:56:17.763 回答