1、sqoop 查看MS SQL服务器上所有的数据库
sqoop list-databases --connect jdbc:sqlserver://192.168.80.1 --username sa --password XXX
2、sqoop查看MS SQL服务器上某个数据库的所有表名
sqoop list-tables --connect jdbc:sqlserver://192.168.80.1 --username sa --password XXX
使用默认的连接信息,查看到的是master数据库下表名,并且不支持My SQL中在ip地址后面加数据库名,否则报错。需使用下面的命令:
sqoop eval --connect jdbc:sqlserver://192.168.80.1 --username sa --password wu581124 --query "USE test select name from sysobjects WHERE xtype='U'"
应该是MS SQL 不支持show tables查看数据库表名。
3、导入不含主键的MS SQL表到HDFS目录中
sqoop import --connect jdbc:sqlserver://192.168.80.1 --username sa --password XXX --query 'select * from test.dbo.films AS A WHERE $CONDITIONS' --target-dir /user/sqoop/MSSQL --fields-terminated-by ',' -m 1
含主键的表格导入,不受影响。但是MS SQL2008 不支持 ip地址后面带数据库,好像智能通过 --query来获取MS SQL表数据。