Hive单词统计
微课PPT大纲:Hive单词统计案例(实操)
PPT 1:单词统计案例 - 引言
- 内容:
- 介绍本节实操目标:使用Hive完成单词统计案例,探索Hive的基本功能和数据分析能力。
- 该案例将使用文本文件数据,展示如何使用Hive执行数据清洗、分组统计和查询操作。
- 强调单词统计是一个典型的MapReduce应用,Hive可以简化这些操作。
提前操作
修改 haddop 里面的配置文件mapred-site.xml,添加下面配置
<code class="language-plain has-numbering hljs" id="code_id_0"><!-- mr运行需要的配置,分别是 appmanger,map,reduce的环境 -->
<!-- 不配置会导致mr无法运行 -->
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property></code>
启动hadoop
start-dfs.sh
start-yarn.sh
PPT 2:准备数据集
- 内容:
- 步骤1:准备文本数据:
- 使用一个包含多个英文句子的文本文件,例如
words.txt,作为单词统计的数据源。 - 示例文件内容:
Hello Hive This is a Hive word count example Hive is great for big data
- 使用一个包含多个英文句子的文本文件,例如
- 步骤2:将数据上传到HDFS:
- 使用
hdfs dfs -put命令将文件上传到HDFS中:bash hdfs dfs -mkdir -p /user/hive/warehouse hdfs dfs -put words.txt /user/hive/warehouse/
- 使用
PPT 3:创建Hive表
-
内容:
-
步骤1:创建表结构:
-
进入hive
hive- 创建一个Hive表来存储文本数据:
sql CREATE TABLE word_count_raw (line STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\n';
- 创建一个Hive表来存储文本数据:
-
步骤2:加载数据到Hive表:
- 将之前上传到HDFS的文本数据加载到Hive表中:
sql LOAD DATA INPATH '/user/hive/warehouse/words.txt' INTO TABLE word_count_raw;
- 将之前上传到HDFS的文本数据加载到Hive表中:
PPT 4:数据处理 - 单词拆分
- 内容:
- 步骤1:创建拆分后的表:
- 创建一个新的表来存储拆分后的单词数据:
sql CREATE TABLE word_count_split (word STRING);
- 创建一个新的表来存储拆分后的单词数据:
- 步骤2:使用HiveQL进行单词拆分:
- 使用Hive的内建函数
explode()来拆分每行中的单词:sql INSERT INTO TABLE word_count_split SELECT explode(split(line, ' ')) AS word FROM word_count_raw; - 这里,
split()函数将每行文本按空格拆分成单词,explode()函数将拆分的单词展平成多行数据。
- 使用Hive的内建函数
PPT 5:统计单词频率
- 内容:
-
步骤1:创建单词计数表:
- 创建一个新的表来存储每个单词及其出现的次数:
sql CREATE TABLE word_count_result (word STRING, count INT); -
步骤2:执行单词统计查询:
-
使用
GROUP BY和COUNT()函数统计每个单词的出现频率:sql INSERT INTO TABLE word_count_result SELECT word, COUNT(*) FROM word_count_split GROUP BY word;
- 创建一个新的表来存储每个单词及其出现的次数:
PPT 6:查看统计结果
-
内容:
-
步骤1:查询统计结果:
- 执行以下查询,查看每个单词的统计信息:
sql SELECT * FROM word_count_result; - 结果可能如下:
hello 1 hive 3 this 1 is 1 a 1 example 1 great 1 for 1 big 1 data 1
- 执行以下查询,查看每个单词的统计信息:
PPT 7:优化查询与执行计划
- 内容:
-
步骤1:查询执行计划:
- 使用
EXPLAIN命令查看Hive执行计划,理解Hive如何执行查询:sql EXPLAIN SELECT word, COUNT(*) FROM word_count_split GROUP BY word; -
步骤2:使用分区与桶化优化:
-
通过创建分区和桶化表,优化大数据量查询的性能。可以在实际应用中考虑对数据进行分区存储和桶化操作,减少查询时间。
- 使用
PPT 8:总结
- 内容:
- 成功完成了Hive单词统计案例,涵盖了数据加载、数据处理、单词拆分、单词频率统计等过程。
- 通过实际案例展示了Hive的基本操作,包括表的创建、数据加载、SQL查询、分组统计等。
- 强调Hive作为一个数据仓库工具,能够简化MapReduce计算,支持SQL风格的查询,适用于大数据处理。
- 退出hive安全模式
hdfs dfsadmin -safemode leave