Sqoop常用命令与参数

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 导入数据的时候,指定一下是哪个分区

猜你喜欢

转载自blog.csdn.net/qq_41610418/article/details/81713319