Sqoop1.99 从SQL Server导数据到HDFS

一、创建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文件,已经成功导入了。

猜你喜欢

转载自blog.csdn.net/lbship/article/details/83994584