sqoop实战:sqlserver导入hbase命令

来源:互联网 发布:简单的数据分析方法 编辑:程序博客网 时间:2024/06/05 10:11

sqoop-list-databases  --connect 'jdbc:sqlserver://192.168.1.107;username=sa;password=********;'
sqoop-list-tables  --connect 'jdbc:sqlserver://192.168.1.107;username=sa;password=*******;database=********;table=dbo.t11'
sqoop import --connect 'jdbc:sqlserver://192.168.1.107;username=sa;password=********;database=********;'  --table=t11 --columns id,CF --where "id in ('005','006')" --hbase-table t11 --column-family CF --hbase-row-key id -m 1


说明:
--connect jjdbc:sqlserver://192.168.1.107; 表示远程或者本地 Mssql 服务的URI。
--username=sa 表示使用用户sa连接Mssql。
--password=****** 连接密码
--database=******表示导出数据库名。
--table=t11  表示导出数据库的t11表。
--hbase-table t11  表示在HBase中建立表A。
--column-family CF 表示在表t11中建立列族CF。
--hbase-row-key id  表示表t11的row-key是t11表的id字段。
--hbase-create-table 表示在HBase中建立表。
-- -m 1表示使用的主机数量为1

错误笔记:

用sqoop:将sqlserver数据导入hbase时报错,如下:

ERROR manager.SqlManager: Error executing statement: com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'dbo.****' 无效。

com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'dbo**** 无效。

而查看数据库可以查看,后修改查询语句为:

sqoop-list-tables  --connect 'jdbc:sqlserver://192.168.1.107;username=sa;password=********;database=********;table=t11'

成功执行

原因:表中前不能加dbo

0 0