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中创建表才可以将数据导入到这个表里面

相关推荐
8***a81519 小时前
从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程)
hive·servlet·tomcat
5***79002 天前
JavaScript生成器函数
hive·tidb·consul
顧棟2 天前
HDFS元数据与auditlog结合Hive元数据统计分析
hive·hadoop·hdfs
z***89713 天前
【分布式】Hadoop完全分布式的搭建(零基础)
大数据·hadoop·分布式
Kevinyu_3 天前
责任链模式
java·hadoop·责任链模式
yumgpkpm3 天前
腾讯云TBDS与CDH迁移常见问题有哪些?建议由CDH迁移到CMP 7.13 平台(类Cloudera CDP,如华为鲲鹏 ARM 版)
hive·hadoop·zookeeper·flink·spark·kafka·hbase
yumgpkpm4 天前
数据可视化AI、BI工具,开源适配 Cloudera CMP 7.3(或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)值得推荐?
人工智能·hive·hadoop·信息可视化·kafka·开源·hbase
二进制_博客4 天前
使用datax将mysql数据抽取到hive分区表无数据
数据库·hive·mysql
干就完事了4 天前
Hive视图
数据仓库·hive·hadoop
Linux Huang4 天前
【Dinky】IDEA运行出现HistoryServer异常
java·hadoop·flink·intellij idea