–connection-manager 指定要使用的连接管理类 –driver 数据库驱动类 –hadoop-home Hadoop根目录 –help 打印帮助信息 -P 从控制端读取密码 –password Jdbc url中的数据库连接密码 –username Jdbc url中的数据库连接用户名 –verbose 在控制台打印出详细信息 –connection-param-file 一个记录着数据库连接参数的文件 文件输出参数
用于import场景。 示例如:
sqoop import –connect jdbc:mysql://localhost:3306/test –username root –P –table person –split-by id –check-column id –incremental append –last-value 1 –enclosed-by ?\\‖?
–escaped-by \\# –fields-terminated-by .
参数 说明 –enclosed-by 给字段值前后加上指定的字符,比如双引号,示例:–enclosed-by ?\\‖?,显示例子:‖3″,‖jimsss‖,‖dd@dd.com‖ –escaped-by 给双引号作转义处理,如字段值为‖测试‖,经过–escaped-by \\\\处理后,在hdfs中的显示值为:\\‖测试\\‖,对单引号无效 –fields-terminated-by 设定每个字段是以什么符号作为结束的,默认是逗号,也可以改为其它符号,如句号.,示例如:–fields-terminated-by. –lines-terminated-by 设定每条记录行之间的分隔符,默认是换行, –mysql-delimiters Mysql默认的分隔符设置,字段之间以,隔开,行之间以换行\\n隔开,默认转义符号是\\,字段值以单引号‘包含起来。 –optionally-enclosed-by enclosed-by是强制给每个字段值前后都加上指定的符号,而–optionally-enclosed-by只是给带有双引号或单引号的字段值加上指定的符号,故叫可选的。示例如:–optionally-enclosed-by ?$‘ 文件输入参数
对数据格式的解析,用于export场景,与文件输出参数相对应。 示例如:
sqoop export –connect jdbc:mysql://localhost:3306/test –username root
–password
123456 –table person2 –export-dir /user/hadoop/person –staging-table person3 –clear-staging-table –input-fields-terminated-by ?,‘
在hdfs中存在某一格式的数据,在将这样的数据导入到关系数据库中时,必须要按照该格式来解析出相应的字段值,比如在hdfs中有这样格式的数据: 3,jimsss,dd@dd.com,1,2013-08-07 16:00:48.0,‖hehe‖,
上面的各字段是以逗号分隔的,那么在解析时,必须要以逗号来解析出各字段值,如: –input-fields-terminated-by ?,‘
参数 说明 –input-enclosed-by 对字段值前后有指定的字符–input-enclosed-by ?\\‖?,数据例子:‖3″,‖jimsss‖,‖dd@dd.com‖ –input-escaped-by 对含有转义双引号的字段值作转义处理,如字段值为\\‖测试\\‖,经过–input-escaped-by \\\\处理后,解析得到的值为:‖测试‖,对单引号无效。 –input-fields-terminated-by 以字段间的分隔符来解析得到各字段值,示例如:– input-fields-terminated-by, –input-lines-terminated-by 以每条记录行之间的分隔符来解析得到字段值,示例如:–input-lines-terminated-by ?#‘ 以#号分隔 –input-optionally-enclosed-by 与–input-enclosed-by功能相似,与–input-enclosed-by的区别参见输出参数中对–optionally-enclosed-by的描述