Hive 尝试使用Sqoop将数据从DB2提取到Hbase非常慢

Hive 尝试使用Sqoop将数据从DB2提取到Hbase非常慢,hive,db2,hbase,sqoop,Hive,Db2,Hbase,Sqoop,提前谢谢 我一直在尝试使用SQOOP将数据从DB2导入HBase表,这甚至需要很长时间来启动map和reduce。我一直只能看到映射0和减少0 我可以在DB2中使用相同的命令,结果比我预期的要快得多。但当我将其导入HBASE时。需要很长时间(10小时)。在DB2中创建了一个示例数据(150条记录),并尝试导入到HBASE,但所用时间相同 sqoop import --connect jdbc:db2://{hostname}:50001/databasename --username user

提前谢谢

我一直在尝试使用SQOOP将数据从DB2导入HBase表,这甚至需要很长时间来启动map和reduce。我一直只能看到映射0和减少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
在Sqoop方面,我也尝试过调整查询以及一些小配置 -M4在记录中创建了一些不一致性 -移除过滤器(时间戳(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

除非显示示例数据和数据类型,否则很难给出建议。只有当您在映射器之间公平分配记录时,额外的映射器才能正确有效地工作。如果表中有可用的主键,可以将其作为拆分列提供,映射程序将平均分配工作负载,并开始以平衡模式获取切片。在运行时,您还可以从日志本身中看到分割密钥分布和记录计数

如果您的群集没有足够的内存来存储资源,则可能需要较长的时间,而且有时由于无法分配内存来运行它,群集会长时间处于提交模式


您可以先尝试使用HDFS作为存储位置,查看性能并查看作业详细信息,以了解MapReduce行为,而不是尝试使用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