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