import-all-tables工具將一組表從RDBMS導入到HDFS。來自每一個表的數據存儲在HDFS的單獨目錄中。mysql
要使import-all-tables工具備用,必須知足如下條件:sql
1.每一個表必須具備主鍵或使用--autoreset-to-one-mapper選項。數據庫
2.導入每張表的全部列。bash
3.使用默認拆分列,不能使用WHERE。app
$ sqoop import-all-tables (generic-args) (import-args) $ sqoop-import-all-tables (generic-args) (import-args)
--connect <jdbc-uri>:指定JDBC鏈接字符串。 --connection-manager <class-name>:指定要使用的鏈接管理器類。 --driver <class-name>:手動指定要使用的JDBC驅動程序類。 --hadoop-mapred-home <dir>:覆蓋$ HADOOP_MAPRED_HOME。 --help:打印使用說明。 --password-file:爲包含認證密碼的文件設置路徑。 -P:從控制檯讀取密碼。 --password <password>:設置驗證密碼。 --username <username>:設置驗證用戶名。 --verbose:在運行時打印更多信息。 --connection-param-file <filename>:提供鏈接參數的可選屬性文件。 --relaxed-isolation:將mapper的鏈接事務隔離設置爲只讀。
--as-avrodatafile:將數據導入Avro數據文件。 --as-sequencefile:將數據導入到SequenceFiles。 --as-textfile:以純文本形式導入數據(默認)。 --as-parquetfile:將數據導入Parquet文件。 --direct:使用direct快速導入。 --inline-lob-limit <n>:設置內聯LOB的最大大小。 -m,--num-mappers <n>:使用n個mapper任務並行導入。 --warehouse-dir <dir>:表目的地的HDFS父級目錄。 -z,--compress:啓用壓縮。 --compression-codec <c>:使用Hadoop編解碼器(默認gzip)。 --exclude-tables <tables>:逗號分隔的表格列表,以便從導入過程當中排除。 --autoreset-to-one-mapper:若是表沒有主鍵,導入時使用一個mapper執行。
這些參數的使用方式和sqoop-import工具的使用方式同樣,可是--table、--split-by、--columns和--where參數不能用於sqoop-import-all-tables工具。--exclude-tables參數只能在sqoop-import-all-tables工具中使用。工具
--enclosed-by <char>:設置必需的字段包圍字符。 --escaped-by <char>:設置轉義字符。 --fields-terminated-by <char>:設置字段分隔符。 --lines-terminated-by <char>:設置行尾字符。 --mysql-delimiters:使用MySQL的默認分隔符集:fields:, lines:\n escaped-by:\ optional-enclosed-by:'。 --optionally-enclosed-by <char>:設置字段包含字符。
--input-enclosed-by <char>:設置必需的字段封閉器。 --input-escaped-by <char>:設置輸入轉義字符。 --input-fields-terminated-by <char>:設置輸入字段分隔符。 --input-lines-terminated-by <char>:設置輸入的行尾字符。 --input-optionally-enclosed-by <char>:設置字段包含字符。
--hive-home <dir>:覆蓋 $HIVE_HOME。 --hive-import:將表導入Hive(若是沒有設置,則使用Hive的默認分隔符。)。 --hive-overwrite:覆蓋Hive表中的現有數據。。 --create-hive-table:若是設置,則做業將失敗,若是目標配置單元表存在。默認狀況下,該屬性爲false。 --hive-table <table-name>:設置導入到Hive時要使用的表名。 --hive-drop-import-delims:導入到Hive時,從字符串字段中 刪除\ n,\ r和\ 01。 --hive-delims-replacement:在導入到Hive時,將字符串字段中的\ n,\ r和\ 01 替換爲用戶定義的字符串。 --hive-partition-key:分區的配置單元字段的名稱被打開 --hive-partition-value <v>:字符串值,用做此做業中導入配置單元的分區鍵。 --map-column-hive <map>:覆蓋從SQL類型到配置列的Hive類型的默認映射。若是在此參數中指定逗號,請使用URL編碼的鍵和值,例如,使用DECIMAL(1%2C%201)而不是DECIMAL(1,1)。
--bindir <dir>:編譯對象的輸出目錄。 --jar-file <file>:禁用代碼生成; 使用指定的jar。 --outdir <dir>:生成代碼的輸出目錄。 --package-name <name>:將自動生成的類放入此包中。
導出corp數據庫中的全部表:oop
$ sqoop import-all-tables --connect jdbc:mysql://db.foo.com/corp
驗證結果:編碼
$ hadoop fs -ls Found 4 items drwxr-xr-x - someuser somegrp 0 2010-04-27 17:15 /user/someuser/EMPLOYEES drwxr-xr-x - someuser somegrp 0 2010-04-27 17:15 /user/someuser/PAYCHECKS drwxr-xr-x - someuser somegrp 0 2010-04-27 17:15 /user/someuser/DEPARTMENTS drwxr-xr-x - someuser somegrp 0 2010-04-27 17:15 /user/someuser/OFFICE_SUPPLIES
上一篇:Sqoop工具模塊之sqoop-importspa
下一篇:Sqoop工具模塊之sqoop-export.net