当前位置: 首页 > news >正文

使用sqoop操作HDFS与MySQL之间的数据互传

一,数据从HDFS中导出至MySQL中

1)开启Hadoop、mysql进程

start-all.sh/etc/init.d/mysqld start/etc/init.d/mysqld status

2)将学生数据stu_data.csv传到HDFS的/local_student目录下

在hdfs中创建目录
hdfs dfs -mkdir /local_student
上传自定义的本地数据
hdfs dfs -put /root/lab/data/stu_data.csv /local_student/

注意:若出现以下错误:mkdir: Cannot create directory /student. Name node is in safe mode.

解决方案:hadoop dfsadmin -safemode leave

3)运行MySQL,创建数据库student_data,创建hdfs_stu_score_mysql表。

        进入MySQL:mysql -uroot -p123456(-u表示用户名,-pbiaosh)

create database student_data;show databases;use student_data;create table hdfs_stu_score_mysql(id int not null primary key,name varchar(255),age int,score int);退出客户端:exit;

4)通过Sqoop,将HDFS上的数据导出到MySQL的hdfs_stu_score_mysql表中,具体命令如下:

sqoop export \--connect jdbc:mysql://127.0.0.1:3306/student_data \--username root \--password 123456 \--table hdfs_stu_score_mysql \
//--m 1 表示reduce数量定义为1个
--m 1 \--export-dir /local_student/ \
//文件以制表符为分割符
--input-fields-terminated-by '\t' \--columns="id,name,age,score"

5)MySQL中查询hdfs_stu_score_mysql表中数据

use student_data;select * from hdfs_stu_score_mysql;

二,数据从MySQL中导入至HDFS中

1)在MySQL中筛选分数在85分(包括85分)以上的学生信息

# 进入MySQL客户端mysql -uroot -p123456use student_data;# MySQL中建表create table mysql_stu_top(id int not null primary key,name varchar(255),age int,score int);# 插入数据到mysql_stu_top表中:insert into mysql_stu_top select * from hdfs_stu_score_mysql where score>=85;# 查看结果select * from mysql_stu_top;# 退出客户端:exit;

2)将MySQL中的mysql_stu_top表中数据导入到HDFS

sqoop import \--connect jdbc:mysql://127.0.0.1:3306/student_data \--username root \--password 123456 \--table mysql_stu_top \--m 1 \--target-dir /student/mysql_stu_top_hdfs

3)查看导入至HDFS中的数据

hdfs dfs -cat /student/mysql_stu_top_hdfs/part-m-00000

http://www.lryc.cn/news/254249.html

相关文章:

  • Kafka使用指南
  • HarmonyOS4.0从零开始的开发教程03初识ArkTS开发语言(中)
  • 西工大计算机学院计算机系统基础实验一(函数编写1~10)
  • VMware 虚拟机 电脑重启后 NAT 模式连不上网络问题修复
  • 【桑基图】绘制桑基图
  • ACM32F403/F433 12 位多通道,支持 MPU 存储保护功能,应用于工业控制,智能家居等产品中
  • 7. 从零用Rust编写正反向代理, HTTP及TCP内网穿透原理及运行篇
  • UE4.27-UE5.1设置打包Android环境
  • MySQL授权密码
  • 0X05
  • Doris优化总结
  • 案例059:基于微信小程序的在线投稿系统
  • 利用STM32内置Bootloader实现USB DFU固件升级
  • Centos7如何安装MySQL
  • VR远程带看,助力线下门店线上化转型“自救”
  • 算法通关村第十七关-白银挑战贪心算法高频题目
  • 【数据结构】动态规划(Dynamic Programming)
  • Redis key过期删除机制实现分析
  • ElasticSearch 谈谈分词与倒排索引的原理
  • 【Java】Java8重要特性——Lambda函数式编程以及Stream流对集合数据的操作
  • 大话数据结构-查找-散列表查找(哈希表)
  • 持续集成交付CICD:Sonarqube自动更新项目质量配置
  • Linux设置Docker自动创建Nginx容器脚本
  • 技术博客:Vue中各种混淆用法汇总
  • 【python】Python生成GIF动图,多张图片转动态图,pillow
  • python/matlab图像去雾/去雨综述
  • Docker+jenkins+gitlab实现持续集成
  • Web前端JS如何获取 Video/Audio 视音频声道(左右声道|多声道)、视音频轨道、音频流数据
  • MySQL生成UUID并去除-
  • 包与字符串