🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 导入表数据子集 ## where 我们可以导入表的使用Sqoop导入工具,`"where"`子句的一个子集。它执行在各自的数据库服务器相应的SQL查询,并将结果存储在HDFS的目标目录。 where子句的语法如下。 ~~~ --where <condition> ~~~ 下面的命令用来导入emp_add表数据的子集。子集查询检索员工ID和地址,居住城市为:Secunderabad ~~~ sqoop import \ --connect jdbc:mysql://master:3306/userdb \ --username root \ --password root \ --where "city ='sec-bad'" \ --target-dir /wherequery \ --columns id,hno \ --table emp_add --m 1 ~~~ `--columns` 表示要导入哪些列 ## query 按需求导入 ~~~ sqoop import \ --connect jdbc:mysql://master:3306/userdb \ --username root \ --password root \ --target-dir /wherequery2 \ --query 'select id,name,deg from emp WHERE id>1203 and $CONDITIONS' \ --split-by id \ --fields-terminated-by '\t' \ --m 1 ~~~ 如果要用query,就要写`$CONDITIONS` `--fields-terminated-by` 指定存储的时候,字段之间按照这个分割 ~~~ 1204 prasanth php dev 1205 kranthi admin ~~~ 注意使用`--query`的时候,where后面要加条件 `$CONDITIONS`,map分割要这个标记 `--split-by`这个也要,表示以哪个列分割,除非是`--m 1` # 注意 sqoop中可以使用 ~~~ sqoop import -D property.name=property.value ~~~ 加入执行任务的参数,多个参数用空格隔开 sqoop-site.xml中有些属性设置了值,如果注释了就表示没有了,没有默认值.不像hadoop还有默认值