实操用Hive分析大数据事半功倍

一般我们分析大数据,也许会想到Spark、Storm,但前提得会JAVA等编程语言,不然拿到数据也无法做分析。而Hive而解决了这个问题,只需要会Sql语言即可做mapreduce的大数据分析任务。今天我们创建测试数据用Hive进行mapreduce的实际分析。

一、先安装好Hive、Mysql环境

1、在昨天hdfs的基础上,安装Hive、Mysql。

2、因Hive依赖于Mysql存储元数据、依赖于Hdfs存储cell数据,在Hive中配置好Mysql的帐号、密码。

3、在Mysql中创建Hive数据库,新建Mysql的数据库帐号、密码。

二、创建测试数据

1、创建file测试数据

cd /usr/local/hadoop

mkdir input

echo "hello world" >file1.txt

echo "hello hadoop" >file2.txt

2、进入hive,将file导入到hive数据表中

hive> create table docs(line string); //创建仅有一个列元素的表

hive> load data local input '/usr/local/hadoop/input' overwrite into table docs; //将input目录下的file1、file2倒入hive docs表格中。

用select * from docs证实数据倒入成功。

三、创建测试分析任务

1、用sql语句进行word count的分析处理。

create table word_count as select word,count(1) as count from (select explode(split(line,' ')) as word from docs) w group by word order by word;

2、检查mapreduce任务

检查mapreduce进程,上面的语句启动了mapreduce任务。

3、检查结果

用select * from word_count,发现word count的任务成功完成。

四、小结

1、hive依赖于mysql存元数据,依赖于hdfs存储数据库文件,是一个廉价的数据仓库。

2、hive用sql语句创建mapreduce任务,适用于非实时的数据分析处理。

原文发布于微信公众号 - 信息化漫谈(gh_cfbdbd8457f4)

原文发表时间:2019-06-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券