sqoop操作

介绍

sqoop是隶属于Apache旗下的, 最早是属于cloudera公司的,是一个用户进行数据的导入导出的工具, 主要是将关系型的数据库(MySQL, oracle...)导入到hadoop生态圈(HDFS,HIVE,Hbase...) , 以及将hadoop生态圈数据导出到关系型数据库中

操作

将数据从mysql中导入到HDFS中

1.全量导入

复制代码
sqoop import \
--connect jdbc:mysql://192.168.52.150:3306/test \
--username root \
--password 123456 \
--table emp \
--fields-terminated-by '\001' \
--delete-target-dir \
--target-dir '/sqoop_works/emp_1' \
--split-by id \
-m 2 

相关参数:

  • --connect:连接关系型数据库的URL
  • --username:连接数据库的用户名
  • --password:连接数据库的密码
  • --table:指定使用该数据库的表
  • --fields-terminated-by:设置分隔符

  • --delete-target-dir:删除目标地址中的文件夹
  • --target-dir:导入在HDFS中的地址

(选用)需要两个一起使用,即在/sqoop_works/emp_1目录下导入数据,如果这个目录之前有数据了,则删除原来的数据再导入。


  • --split-by:按照属性切割数据
  • -m:设置map数量

(选用)需两个一起使用,即按照id对数据进行切割,结果分为两份。

结果:

2.条件导入

基于全量导入,在语句中写上--where(条件)或--query(SQL语句)

例如:

--where 'id > 1205'

或者:

--query 'select deg from emp where 1=1 AND $CONDITIONS'

CONDITIONS是一个占位符,通常用来动态添加条件。在实际使用中,CONDITIONS会被替换为具体的条件语句,比如WHERE子句中的具体条件,以实现更灵活的查询功能。

将数据从mysql中导入到Hive中

1.全量导入

复制代码
sqoop import \
--connect jdbc:mysql://192.168.52.150:3306/test \
--username root \
--password 123456 \
--table emp_add \
--hcatalog-database hivesqoop \
--hcatalog-table emp_add_hive \

与导入到HDSF类似,只是导入到的地方不同

  • --hcatalog-database:指定数据库名称
  • --hcatalog-table:指定表名

上述代码功能为:把msql中的test数据库emp_add表的数据导入到Hive中hivesqoop数据库中的emp_add_hive表

2.条件导入

同样的也是加--where(条件)或--query(SQL语句)

将数据从Hive导出到msql中

语句如下:

复制代码
sqoop export \
--connect jdbc:mysql://192.168.52.150:3306/test \
--username root \
--password 123456 \
--table emp_add_mysql \
--hcatalog-database hivesqoop \
--hcatalog-table emp_add_hive \

和导入类似,只是把sqoop import换成了sqoop export

导出数据的时候,必须先在mysql中创建表才可以将数据导入到这个表里面

相关推荐
茶海棠2 天前
Hadoop+zookeeper+HBase+Kafka集群搭建全流程
hadoop·zookeeper·kafka·hbase
skywalk81632 天前
卡不等于分支:我用 TRAE 宝配合 Hive 跑三张任务卡的一天
运维·人工智能·hive·trae
freejackman3 天前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
陈年老古董3 天前
ClickHouse 单机搭建记录
hive·笔记·学习·clickhouse·硬件架构
Gl�ria3 天前
Hadoop 速刷:HDFS / MR / YARN / Spark / Hive
hadoop·hdfs·mr
陈年老古董3 天前
Spark 3.1.3 集群搭建 + Spark-SQL 整合 Hive 记录
hive·sql·spark
FserSuN3 天前
Hive 分区表存储与查询优化学习总结
hive·hadoop·学习
测试盐4 天前
spark作业日志定位过程
java·hadoop·spark
步行cgn4 天前
为什么既要 web.xml 又要 springmvc.xml?能不能只配一个?
xml·前端·hive
NiceZack5 天前
Hadoop 部署全流程教程:从新装 CentOS 到伪分布式与完全分布式
hadoop·分布式·centos