第3节 sqoop:5、实现数据的控制导入

mac2022-06-30  74

导入表数据子集

我们可以导入表的使用Sqoop导入工具,"where"子句的一个子集。它执行在各自的数据库服务器相应的SQL查询,并将结果存储在HDFS的目标目录。

where子句的语法如下。

--where <condition>

按照条件进行查找,通过—where参数来查找表emp_add当中city字段的值为sec-bad的所有数据导入到hdfs上面去

bin/sqoop import \

--connect jdbc:mysql://172.16.43.67:3306/userdb \

--username root --password admin --table emp_add \

--target-dir /sqoop/emp_add -m 1  --delete-target-dir \

--where "city = 'sec-bad'"

 

 

sql语句查找导入hdfs

我们还可以通过 –query参数来指定我们的sql语句,通过sql语句来过滤我们的数据进行导入

 

bin/sqoop import \

--connect jdbc:mysql://172.16.43.67:3306/userdb --username root --password admin \

--delete-target-dir -m 1 \

--query 'select phno from emp_conn where 1=1 and  $CONDITIONS'[a1]  \

--target-dir /sqoop/emp_conn

 

 

查看hdfs数据内容

hdfs dfs -text /sqoop/emp_conn/part*


 [a1]使用sql语句来进行查找是不能加参数--table

并且必须要添加where条件,

并且where条件后面必须带一个$CONDITIONS 这个字符串,

并且这个sql语句必须用单引号,不能用双引号

转载于:https://www.cnblogs.com/mediocreWorld/p/11089165.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)