跳转至

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';
  • 步骤2:加载数据到Hive表

    • 将之前上传到HDFS的文本数据加载到Hive表中: sql LOAD DATA INPATH '/user/hive/warehouse/words.txt' INTO TABLE word_count_raw;

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()函数将拆分的单词展平成多行数据。

PPT 5:统计单词频率

  • 内容
  • 步骤1:创建单词计数表

    • 创建一个新的表来存储每个单词及其出现的次数: sql CREATE TABLE word_count_result (word STRING, count INT);
    • 步骤2:执行单词统计查询

    • 使用GROUP BYCOUNT()函数统计每个单词的出现频率: 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