热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第三节Sqoop:实现数据的精准控制与高效导入

通过使用Sqoop导入工具,可以精确控制并高效地将表数据的特定子集导入到HDFS中。具体而言,可以通过在导入命令中添加WHERE子句来指定所需的数据范围,从而在数据库服务器上执行相应的SQL查询,并将查询结果高效地存储到HDFS中。这种方法不仅提高了数据导入的灵活性,还确保了数据的准确性和完整性。

导入表数据子集

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

where子句的语法如下。

--where

按照条件进行查找,通过—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



推荐阅读
author-avatar
青青河边羊
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有