【问题标题】:Sqoop Import HBase - Sql DatabaseSqoop 导入 HBase - Sql 数据库
【发布时间】:2015-11-18 10:29:22
【问题描述】:

我想将我的数据从 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

如果有人知道为同一个而不是单个表导入完整数据库的查询,请告诉我。

【问题讨论】:

  • 尝试将--columns <col,col,col…> 添加到您的导入命令中

标签: sql-server hadoop hbase hdfs sqoop


【解决方案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 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 1

【讨论】:

    猜你喜欢
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    相关资源
    最近更新 更多