【发布时间】:2018-11-30 23:29:03
【问题描述】:
提前致谢。
我一直在尝试使用 SQOOP 将数据从 DB2 导入 HBase 表,这甚至需要很长时间才能启动 map 和 reduce 。我一直只能看到 Map 0 和 Reduce 0 。
我可以在 DB2 中输入相同的命令,结果比我预期的要快得多。但是当我将其导入 HBASE 时。花费很长时间(10小时)。在 DB2 中创建了一个样本数据(150 条记录)并尝试导入到 HBASE 仍然花费相同的时间。
sqoop import --connect jdbc:db2://{hostname}:50001/databasename --username user --password pass --hbase-create-table --hbase-table new_tbl --column-family abc --hbase-row-key=same --query "select a,b,c,d,e concat(a,e) from table_name where \$CONDITIONS AND a>='2018-08-01 00:00:01' and b<='2018-08-01 00:00:02'" -m 1
尝试调整所有配置
yarn.nodemanager.resource.memory-mb=116800
yarn.scheduler.minimum-allocation-mb=4096
mapreduce.map.memory.mb=4096
mapreduce.reduce.memory.mb=8192
mapreduce.map.java.opts=-Xmx3072m
mapreduce.reduce.java.opts=-Xmx6144m
yarn.nodemanager.vmem-pmem-ratio=2.1
在 Sqoop 方面,我也尝试调整查询以及一些小配置 -m 4 在记录中创建一些不一致 -删除过滤器(时间戳(a,b))仍然需要很长时间(10小时)
HBASE 性能测试结果还不错。
HBase Performance Evaluation
Elapsed time in milliseconds=705914
Row count=1048550
File Input Format Counters
Bytes Read=778810
File Output Format Counters
Bytes Written=618
real 1m29.968s
user 0m10.523s
sys 0m1.140s
【问题讨论】: