【hadoop】sqoop案例 hive->mysql

将temperature.log中的气象数据导入到Hive的temperature表中,

根据气象站id分组计算每个气象站30年来的*最高*气温,

然后将统计结果导出到MySQL当中。

思路:

1.在hive中创建表

2.数据导入到表中

3.计算后的结果写入另外的表

4.用sqoop导出到mysql


1.在hive中创建表

复制代码
hive

hive> create database if not exists temperature_db;

hive> use temperature_db;

hive> create table temperature_tb(id int,year string,temperature string) row format delimited fields terminated by ',';

2.数据导入到表中

先上传文件到虚拟机,然后输入load data local inpath... into命令加载数据到数据库。

复制代码
load data local inpath '/home/hadoop/temperature.log' into table temperature_tb;

3.计算后的结果写入另外的表

复制代码
CREATE TABLE temperature_max_by_id AS
SELECT id, MAX(temperature) AS max_temperature
FROM temperature_tb
WHERE `year` >= STRING(YEAR(CURRENT_DATE()) - 30)
GROUP BY id;

DESCRIBE FORMATTED temperature_db.temperature_max_by_id;

可以查看表在hdfs中的位置。

4.使用 Sqoop 导出到 MySQL

注意:要提前在mysql中创建表

USE temperature_db; CREATE TABLE IF NOT EXISTS temperature (id INT, max_temperature VARCHAR(50));

复制代码
~/sqoop/bin/sqoop export \
  --connect jdbc:mysql://localhost/temperature_db \
  --username root \
  --password 123456 \
  --table temperature \
  --export-dir /user/hive/warehouse/temperature_db.db/temperature_max_by_id \
  --input-fields-terminated-by ',' \
  -m 1
相关推荐
r-t-H17 小时前
从零开始搭建CDH-第十二章
linux·hive·spark·centos·hbase
m0_639310791 天前
大数据技术原理-HDFS的安装与应用
java·大数据·jvm·hadoop·spring·hdfs·eclipse
188105069631 天前
摸鱼事务所——团队作业——大模型评测作业
大数据·hadoop·分布式
我思故我在78961 天前
hdfs文件系统
大数据·hadoop·hdfs
大连赵哥1 天前
分布式文件存储系统:Hadoop HDFS
hadoop·分布式·hdfs
王小王-1231 天前
基于Hadoop的服装电商数据分析系统【Hdfs、flume、HIve、sqoop、MySQL、echarts】
hive·hadoop·hdfs·服装电商分析·服装大数据
青春万岁!!1 天前
hiveSQL脚本性能优化-减少表扫描
大数据·hive·sql
阿坤带你走近大数据2 天前
Hadoop中的MapReduce介绍
大数据·hadoop·mapreduce
阿坤带你走近大数据2 天前
HiveSQL常见性能调优策略与经验
hive·sql·调优
It's Q3 天前
Hive序列函数&&排名函数
数据仓库·hive·hadoop