1、Sqoop常用命令及参数
2、命令&参数详解
刚才列举了一些 Sqoop 的常用命令,对于不同的命令,有不同的参数,让我们来一一列举说明。 首先来我们来介绍一下公用的参数,所谓公用参数,就是大多数命令都支持的参数。
2.1、公用参数:数据库连接
2.2、公用参数:import
2.3、公用参数:export
2.4、公用参数:hive
命令对应的特有参数:
2.5、命令&参数:import
将关系型数据库中的数据导入到 HDFS(包括 Hive,HBase)中,如果导入的是 Hive,那么 当 Hive 中没有对应表时,则自动创建。
1) 命令
如:导入数据到 hive 中:
如:增量导入数据到 hive 中,mode=append
append 不能与--hive-等参数同时使用.
如:增量导入数据到 hdfs 中,mode=lastmodified
使用 lastmodified 方式导入数据要指定增量数据是要--append(追加)还是要 --merge-key(合并).
last-value 指定的值是会包含于增量导入的数据中.
2) 参数:
2.6、命令&参数:export
从 HDFS(包括 Hive 和 HBase)中将数据导出到关系型数据库中。
1) 命令:
2) 参数:
2.7、命令&参数:codegen
将关系型数据库中的表映射为一个 Java 类,在该类中有各列对应的各个字段。
2.8、命令&参数:create-hive-table
生成与关系数据库表结构对应的 hive 表结构。
2.9、命令&参数:eval
可以快速的使用 SQL 语句对关系型数据库进行操作,经常用于在 import 数据之前,了解一 下 SQL 语句是否正确,数据是否正常,并可以将结果显示在控制台。
2.10、命令&参数:import-all-tables
可以将 RDBMS 中的所有表导入到 HDFS 中,每一个表都对应一个 HDFS 目录。
2.11、命令&参数:job
用来生成一个 sqoop 任务,生成后不会立即执行,需要手动执行。
注意 import-all-tables 和它左边的--之间有一个空格。
如果需要连接 metastore,则--meta-connect jdbc:hsqldb:hsql://linux01:16000/sqoop。
在执行一个 job 时,如果需要手动输入数据库密码,可以做如下优化:
2.12、命令&参数:list-databases
参数:与公用参数一样
2.13、命令&参数:list-tables
参数:与公用参数一样
2.14、命令&参数:merge
将 HDFS 中不同目录下面的数据合并在一起并放入指定目录中
数据环境:
上边数据的列之间的分隔符应该为\t,行与行之间的分割符为\n。
2.15、命令&参数:metastore
记录了 Sqoop job 的元数据信息,如果不启动该服务,那么默认 job 元数据的存储目录为 ~/.sqoop,可在 sqoop-site.xml 中修改。
如:启动 sqoop 的 metastore 服务: