一、创建link
1.创建mssql 的link
启动sqoop2-shell
设置端口 set server --host master --port 12000 --webapp sqoop
创建连接 create link -c generic-jdbc-connector
Name: mssql
JDBC Driver Class: com.microsoft.sqlserver.jdbc.SQLServerDriver
JDBC Connection String:jdbc:sqlserver://1xxx.xxx:1433;databaseName=xxx
Username: sa
Password: ***********
JDBC Connection Properties:
There are currently 0 values in the map:
entry#
端口号可以通过执行exec sys.sp_readerrorlog 0, 1, 'listening'来查看,或者在wind的cmd里面通过netstat -ano配合tasklist |findstr ""来查看
2.创建hdfs的link
create link -c hdfs-connector
Name: hdfs
HDFS cluster
URI: hdfs://192.168.116.10:9000
Conf directory: /usr/local/src/hadoop-2.6.1/etc/hadoop
二、创建job
create job -f mssql -t hdfs
Name: mssqltohdfs
From database configuration
Schema name: dbo #这里填dbo
Table name: xxxx
Table SQL statement:
Table column names:
Partition column name: xxxx
Null value allowed for the partition column:
Boundary query:
ToJob configuration
Output format:
0 : TEXT_FILE
1 : SEQUENCE_FILE
Choose: 0
Compression format:
0 : NONE
1 : DEFAULT
2 : DEFLATE
3 : GZIP
4 : BZIP2
5 : LZO
6 : LZ4
7 : SNAPPY
8 : CUSTOM
Choose: 3 #这里选择gzip压缩,可以被hive直接识别
Custom compression format:
Output directory: /sqoop/hdfs
Throttling resources
Extractors: #这两个相当于map 和reduce的个数
Loaders:
三、开启任务
start job -n mssqltohdfs
查看进度 status job -n mssqltohdfs
设置查看报错信息set option --name verbose --value true
可以看http://192.168.116.10:8088/cluster查看看进度
或者到http://192.168.116.10:19888/jobhistory/查看日志情况,可以看到任务执行完成了
到hdfs里面查看一下是否成功导入数据了:hdfs dfs -ls /sqoop/hdfs
可以看到有很多gz文件,已经成功导入了。