首先,請使用 SSH Client (Ex. PieTTY) 連進 EMS 的 Master 虛擬機器。(若您是參考官方步驟進行設定,則 IP 位址應為 192.168.60.250)
user@master ~ $ sqoop version Sqoop 1.4.3-cdh4.7.1 git commit id Compiled by jenkins on Tue Nov 18 09:41:51 PST 2014
## 以下兩行為防止錯誤結果的檢查指令 user@master ~ $ hadoop fs -ls user@master ~ $ hadoop fs -rmr mysql_data MSSQL_DATA ## 進行匯入 user@master ~ $ export DBID=帳號 user@master ~ $ sqoop import --connect "jdbc:sqlserver://sql.3du.me:1433;database=$DBID" --table MSSQL_DATA --username $DBID -P Enter password: 輸入密碼
13/12/22 10:12:31 INFO hdfs.DFSClient: Created HDFS_DELEGATION_TOKEN token 13 for user on 192.168.60.250:9000 13/12/22 10:12:31 INFO security.TokenCache: Got dt for hdfs://master.etusolution.com:9000;uri=192.168.60.250:9000;t.service=192.168.60.250:9000 13/12/22 10:12:31 INFO hdfs.DFSClient: Created HDFS_DELEGATION_TOKEN token 14 for user on 192.168.60.250:9000 13/12/22 10:12:31 INFO security.TokenCache: Got dt for hdfs://master.etusolution.com:9000/var/disk/a/hadoop/tmp/hadoop-etu/mapred/staging/user/.staging/job_201312211330_0007/libjars/ant-eclipse-1.0-jvm1.2.jar;uri=192.168.60.250:9000;t.service=192.168.60.250:9000 13/12/22 10:12:34 INFO db.DataDrivenDBInputFormat: BoundingValsQuery: SELECT MIN([id]), MAX([id]) FROM [MSSQL_DATA] 13/12/22 10:12:41 INFO mapred.JobClient: Running job: job_201312211330_0007 . .. 略 .. . 13/12/22 10:13:07 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 87.6205 seconds (0 bytes/sec) 13/12/22 10:13:07 INFO mapreduce.ImportJobBase: Retrieved 2 records.
user@master ~ $ hadoop fs -ls MSSQL_DATA -rw------- 3 user user 0 2013-12-22 10:13 MSSQL_DATA/_SUCCESS drwxrwxr-x - user user 0 2013-12-22 10:12 MSSQL_DATA/_logs -rw------- 3 user user 16 2013-12-22 10:13 MSSQL_DATA/part-m-00000
user@master ~ $ hadoop fs -cat MSSQL_DATA/part-m-00000 1,Hello 2,World
user@master ~ $ rm MSSQL_DATA.java
user@master ~ $ sqoop import --connect "jdbc:sqlserver://sql.3du.me;database=$DBID" --table MSSQL_DATA --username $DBID -P Enter password: 13/12/22 10:36:18 INFO manager.SqlManager: Using default fetchSize of 1000 13/12/22 10:36:18 INFO tool.CodeGenTool: Beginning code generation 13/12/22 10:36:19 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM [MSSQL_DATA] AS t WHERE 1=0 13/12/22 10:36:19 ERROR manager.SqlManager: Error executing statement: com.microsoft.sqlserver.jdbc.SQLServerException: 無效的物件名稱 'MSSQL_DATA'。 com.microsoft.sqlserver.jdbc.SQLServerException: 無效的物件名稱 'MSSQL_DATA'。 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216) . .. 略 .. . 13/12/22 10:36:19 ERROR tool.ImportTool: Imported Failed: Attempted to generate class with no columns! user@master ~ $ ls application_log MSSQL_DATA.java
13/12/22 10:38:15 ERROR tool.ImportTool: Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory MSSQL_DATA already exists at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:132) . .. 略 ..
user@master ~ $ hadoop fs -rmr MSSQL_DATA
user@master ~ $ sqoop import --connect "jdbc:sqlserver://sql.3du.me;database=$DBID" --table MSSQL_DATA --username $DBID -P --target-dir MSSQL_TMP