我最近开始在Linux上使用sqoop - hive/hadoop
。我必须将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
是否有任何配置更改可以帮助我加快速度。
答案 0 :(得分:0)
没有任何其他信息,很难提供帮助。我建议再次启动出口工作并监控环境以查看瓶颈在哪里(数据库?网络?hadoop?)。尝试OraOop连接器可能也会有所帮助,因为它通常更快。
答案 1 :(得分:0)
这是一个“广泛”的数据集吗?它可能是一个sqoop错误https://issues.apache.org/jira/browse/SQOOP-2920如果列数非常高(数百),sqoop开始窒息(在cpu上非常高)。
当字段数很少时,通常会有其他方式 - 当sqoop感到无聊且Oracle无法跟上时。在这种情况下,我们通常不会超过45-55个映射器。