如何将Oracle的大宽表(8000w条数据,每条记录280多个字段)导入到hbase? 10
源表建有索引,表空间大小目前是117G,用sqoop导入很慢,用了17小时也没导入完sqoopimport--append--connectjdbc:oracle:thi...
源表建有索引,表空间大小目前是117G,用sqoop导入很慢,用了17小时也没导入完
sqoop import --append --connect jdbc:oracle:thin:@192.168.0.11:1521:dw --username *** --password *** --hbase-table table --hbase-row-key MYID --column-family cf --query "select t.*,id_uni_sec_code || to_char(id_position_date,'yyyy') || valuation_port_code ||to_char(id_rec_enddate,'yyyy')||id_pos_status as MYID from table t
where ID_UNI_SEC_CODE IS NOT NULL AND ID_POSITION_DATE IS NOT NULL AND VALUATION_PORT_CODE IS NOT NULL AND ID_REC_ENDDATE IS NOT NULL AND ID_POS_STATUS IS NOT NULL AND \$CONDITIONS" -m 1 展开
sqoop import --append --connect jdbc:oracle:thin:@192.168.0.11:1521:dw --username *** --password *** --hbase-table table --hbase-row-key MYID --column-family cf --query "select t.*,id_uni_sec_code || to_char(id_position_date,'yyyy') || valuation_port_code ||to_char(id_rec_enddate,'yyyy')||id_pos_status as MYID from table t
where ID_UNI_SEC_CODE IS NOT NULL AND ID_POSITION_DATE IS NOT NULL AND VALUATION_PORT_CODE IS NOT NULL AND ID_REC_ENDDATE IS NOT NULL AND ID_POS_STATUS IS NOT NULL AND \$CONDITIONS" -m 1 展开
1个回答
展开全部
使用sqoop工具。
1、在行键选择那里,通过用“”,将需要做行键的多个列写在一起就可以了。
2、例如要将a和b列同时做行键,那么--hbase-row-key "a,b"就可以了。
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
1、在行键选择那里,通过用“”,将需要做行键的多个列写在一起就可以了。
2、例如要将a和b列同时做行键,那么--hbase-row-key "a,b"就可以了。
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询