我想将我的数据从SQL数据库迁移到HBase。我的问题之一是我的SQL表没有主键,因此要克服这一点。我在Sqoop查询中使用复合键。我已经成功地将数据从SQL导入到HBase,但主要问题是导入的数据不包含用于导入数据所需的候选键的列。请对此给出一些决心!我目前使用的Sqoop查询格式如下:
sqoop import --connect "jdbc:sqlserver://Ip:1433;database=dbname;username=test;password=test" --table TableName --hbase-create-table --hbase-table TableName --column-family NameSpace --hbase-row-key Candidate1,Candidate2,Candidate3 -m 1还请告诉我,如果有人知道一个查询来导入同一表而不是单个表的完整数据库。
发布于 2015-11-30 05:13:03
经过大量研究,我发现了一种正确的语法,通过该语法,我能够正确地加载所有数据,而不会丢失以下任何一列:
sqoop import -D sqoop.hbase.add.row.key=true –connect “jdbc:sqlserver://IP:1433;database=DBNAME;username=UNAME;password=PWD” --table SQLTABLENAME –hbase-create-table –hbase-table HBASETABLENAME –column-family COLUMNFAMILYNAME –hbase-row-key PRIMARYKEY -m 1或
sqoop import -D sqoop.hbase.add.row.key=true –connect “jdbc:sqlserver://IP:1433;database=DBNAME;username=UNAME;password=PWD” --table SQLTABLENAME –hbase-create-table –hbase-table HBASETABLENAME –column-family COLUMNFAMILYNAME –hbase-row-key CANDIDATEKEY1, CANDIDATEKEY2, CANDIDATEKEY3 -m 1https://stackoverflow.com/questions/33777579
复制相似问题