Sqoop常用命令
命令 | 描述 |
---|---|
import | 将数据导入到集群,HDFS,HIve,HBase |
export | 将集群的数据导出到传统数据库中 |
job | 用来生成一个sqoop任务的,生成后,该任务不执行,等待使用命令执行 |
list-databases | 显示所有数据库名字 |
list-tables | 显示某个数据库下所有表的名字 |
codegen | 获取数据库某张表数据生java 并且打包成jar |
import-all-tables | 将某一个数据库下的所有的表导入到集群 |
merge | 将HDFS下不同目录下的数据合并在一起,然后存放到指定目录 |
metastore | 记录sqoop job的元数据信息,如果不启动metastore实例,可以在sqoop-site.xml中配置相关路径 |
create-hive-table | 创建Hive表 |
eval | 查看SQL的运行结果 |
import-mainframe | 从其他服务器上导入数据到HDFS |
参数详解
公用参数:数据库连接
命令 | 描述 |
---|---|
–connect | 连接数据库的URL |
–connection-manager | 使用管理类 |
–driver | 手动指定要使用的JDBC驱动程序类 |
–hadoop-mapred-home | 覆盖$ HADOOP_MAPRED_HOME |
–help | 打印使用说明 |
–password-file | 设置包含验证密码的文件的路径 |
-P | 从控制台读取密码 |
–password | 设置验证密码 |
–username | 设置认证用户名 |
–verbose | 工作时打印更多信息 |
公用参数:import
命令 | 描述 |
---|---|
–fields-terminated-by | 设定每个字段以什么样的符号结果,默认为逗号 |
–lines-terminated-by | 每一行以什么样的字符结束,默认为\n |
–append | 将数据附加到HDFS中的现有数据集 |
–as-textfile | 以纯文本格式导入数据(默认) |
–columns | 要从表导入的列 |
–delete-target-dir | 删除导入目标目录(如果存在) |
–table | 要阅读的表格 |
–target-dir | HDFS目的地目录 |
–where | 导入期间要使用的WHERE子句 |
-z,–compress | 启用压缩 |
–compression-codec | 使用Hadoop编解码器(默认gzip) |
-m,–num-mappers | 使用n个 map任务并行导入 |
-e,–query | 导入结果statement。 |
–optionally-enclosed-by | 给有双引号或者单引号的字段前后加上指定的字符 |
–enclosed-by | 给字段的值前后加上指定的字符 |
–escaped-by | 对字段中的双引号加转义符 |
公用参数:export
命令 | 描述 |
---|---|
–input-fields-terminated-by | 导出数据中字段分隔符 |
–input-lines-terminated-by | 导出数据中行分隔符 |
公用参数:hive
命令 | 描述 |
---|---|
–hive-import | 将数据从传统数据库中导入到Hive表中 |
–hive-overwrite | 覆盖已存在的数据 |
–create-hive-table | more是false,如果表已经存在,则会创建失败 |
–hive-table | hive中表的名字 |
–hive-partition-key | 创建分区,后面直接跟的就是分区名,类型默认为string |
–hive-partition-value | 导入数据的时候,指定一下是哪个分区 |