博主简介
- 作者简介:大家好,我是wux_labs。
热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。
通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP)、TiDB数据库认证SQL开发专家(PCSD)认证。
通过了微软Azure开发人员、Azure数据工程师、Azure解决方案架构师专家认证。
对大数据技术栈Hadoop、Hive、Spark、Kafka等有深入研究,对Databricks的使用有丰富的经验。- 个人主页:wux_labs,如果您对我还算满意,请关注一下吧~
- 个人社区:数据科学社区,如果您是数据科学爱好者,一起来交流吧~
- 请支持我:欢迎大家 点赞+收藏⭐️+吐槽,您的支持是我持续创作的动力~
大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第3节的内容:了解Hive。
Hadoop生态系统是为了处理大数据而产生的解决方案,MapReduce框架将计算作业切分为多个小单元分布到各个节点去执行,从而降低计算成本并提供高可扩展性。但是使用MapReduce进行数据处理分析的门槛是比较高的,需要学会使用Java根据MapReduce的API进行代码编写,这对不熟悉Java的开发人员、数据分析人员以及运维人员等人群来说门槛高、不易学。为了方便用户从现有的数据基础架构转移到Hadoop上来,Hive就诞生了。Hive是一个基于Hadoop的数据仓库工具,可以对存储在HDFS的数据集进行特殊查询和分析处理。Hive的学习门槛比较低,它提供了类似于关系型数据库SQL的查询语言HiveQL,通过HiveQL执行类SQL语句可以快速地实现简单的MapReduce统计,Hive底层会将HiveQL转换成MapReduce任务进行运行,用户不必开发MapReduce程序,非常适合数据仓库的统计分析。
在Hive中要完成WordCount程序,实现对单词出现次数的统计,首先需要在Hive中创建一张表,建表语句如下:
create table wordsTable(line String);
然后将文件内容load到Hive的表中,语句如下:
load data local inpath 'words.txt' into table wordsTable;
最后只需要执行一条SQL语句就可以完成对单词出现次数的统计,语句如下:
select word, count(1)
from (select explode(split(line, ' ')) as word from wordsTable) tmp
group by word;
好了,感谢大家的关注,今天就分享到这里了,更多详细内容,请阅读原书或持续关注专栏。