大数据之数据采集项目延伸——sqoop

承接上篇文章
大数据之数据采集项目总结——hadoop,hive,openresty,frcp,nginx,flume
https://blog.csdn.net/qq_43759478/article/details/131520375?spm=1001.2014.3001.5501
在上个阶段:完成了数据收集,使用flume把日志文件上传到hdfs,并且使用hive创建了分区表

现在补充:使用sqoop把hdfs/hive中的数据导出到MySQL中。
总览:
在这里插入图片描述

show databases;
use ods_news;
show tables;
select * from news_parquet;
-- 筛选出来40条数据,把这个数据存入一个新表,使用sqoop把它导入到MySQL中
select distinct_id,model,network_type,carrier
from news_parquet 
where model is not null and model !="" and network_type !="" and carrier <>"";
-- 创建表
create table useful_info 
row format delimited 
fields terminated by ","
as
(
select distinct_id,model,network_type,carrier
from news_parquet 
where model is not null and model !="" and network_type !="" and carrier <>""
);

-- 查询一下表数据,存在
select * from useful_info;

数据展示:
在这里插入图片描述
在hdfs上:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编写sqoop,把数据导出到MySQL

把useful_info中的数据导出到datacollection上的MySQL数据库中。
查看datacollection中MySQL的数据库和表

show databases;

在这里插入图片描述

use test1;
show tables;

在这里插入图片描述

1、在MySQL创建表

注意:导出并不会自动创建对应的表,需要提前自己创建
在test1 数据库中新建一个表 from_sqoop_hdfs

CREATE TABLE from_sqoop_hdfs(
  distinct_id VARCHAR(20),
  model VARCHAR(50),
  network_type VARCHAR(50),
  carrier VARCHAR(50)
) CHARACTER SET utf8;

2、将hive上的数据导入mysql表中

在Linux命令行直接输入下面的语句:

sqoop export \
--connect jdbc:mysql://datacollection:3306/test1 \
--username root \
--password 123456 \
--table from_sqoop_hdfs \
--export-dir hdfs://datacollection:8020/user/hive/warehouse/ods_news.db/useful_info/000000_0 \
--input-fields-terminated-by ',' \
--input-lines-terminated-by '\n'

成功啦!必须截个图纪念一下!!

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值