一般我们分析大数据,也许会想到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任务,适用于非实时的数据分析处理。
最后说一下,想要学习大数据的限时领取免费资料及课程
领取方法:
还是那个万年不变的老规矩
1.评论文章,没字数限制,一个字都行!
3.私信小编:“大数据开发教程”即可!
谢谢大家,祝大家学习愉快!(拿到教程后一定要好好学习,多练习哦!)
閱讀更多 微笑數據工程師 的文章