Sqoop1.99 從SQL Server導資料到HDFS
阿新 • • 發佈:2018-11-19
一、建立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檔案,已經成功匯入了。