当前位置:实例文章 » 其他实例» [文章]Hive,FineBI-30W聊天数据分析及可视化-B站黑马学习记录

Hive,FineBI-30W聊天数据分析及可视化-B站黑马学习记录

发布人:shili8 发布时间:2025-01-01 09:51 阅读次数:0

**Hive、FineBI-30W聊天数据分析及可视化 - B站黑马学习记录**

作为一名数据分析师,了解如何从海量数据中提取有价值的信息至关重要。B站黑马学习记录中的聊天数据提供了一个理想的场景来演示 Hive 和 FineBI 的强大功能。在本文中,我们将探索如何使用 Hive 来分析和可视化这些聊天数据。

**数据准备**

首先,我们需要准备好我们的数据。假设我们有一个名为 `chat_data` 的表格,包含以下列:

| 列名 | 类型 | 描述 |
| --- | --- | --- |
| id | int | 唯一标识符 |
| user_id | int | 用户 ID |
| chat_content | string | 聊天内容 |
| timestamp | datetime | 时间戳 |

**Hive 数据分析**

下面是使用 Hive 来分析聊天数据的示例代码:

sql--1. 统计用户数量SELECT COUNT(DISTINCT user_id) AS user_count FROM chat_data;

--2. 统计聊天内容中出现次数最多的词语SELECT word, COUNT(*) AS countFROM (
 SELECT SPLIT(chat_content, ' ') AS words FROM chat_data) tGROUP BY wordsORDER BY count DESCLIMIT10;

--3. 分析用户之间的聊天频率FROM (
 SELECT user_id, timestamp,
 LAG(timestamp,1) OVER (PARTITION BY user_id ORDER BY timestamp) AS prev_timestamp FROM chat_data) tWHERE prev_timestamp IS NOT NULLGROUP BY user_id, timestamp - prev_timestampORDER BY timestamp - prev_timestamp DESC;

上述代码示例展示了如何使用 Hive 来执行以下分析:

1. 统计用户数量:使用 `COUNT(DISTINCT)` 函数来计算唯一的 `user_id` 数量。
2. 统计聊天内容中出现次数最多的词语:使用 `SPLIT()` 函数将聊天内容分割成单词,然后使用 `GROUP BY` 和 `ORDER BY` 来统计每个单词的出现次数。
3. 分析用户之间的聊天频率:使用 `LAG()` 函数来获取前一条记录的时间戳,然后使用 `GROUP BY` 来统计每个用户之间的聊天频率。

**FineBI 可视化**

下面是使用 FineBI 来可视化聊天数据的示例代码:
markdown# 聊天内容分布图## 图表类型:柱状图### X 轴:单词### Y 轴:出现次数## 数据源:chat_data## SQL 查询:
SELECT word, COUNT(*) AS countFROM (
 SELECT SPLIT(chat_content, ' ') AS words FROM chat_data) tGROUP BY wordsORDER BY count DESCLIMIT10;

上述代码示例展示了如何使用 FineBI 来创建一个柱状图,显示聊天内容中出现次数最多的前10 个单词。

**结论**

在本文中,我们演示了如何使用 Hive 和 FineBI 来分析和可视化 B站黑马学习记录中的聊天数据。通过使用 Hive 的 SQL 查询功能,我们可以轻松地执行各种分析任务,例如统计用户数量、分析聊天内容中出现次数最多的词语以及分解用户之间的聊天频率。同时,我们也展示了如何使用 FineBI 来创建可视化图表,帮助我们更好地理解数据。

**参考资源**

* Hive 文档: FineBI 文档: />* B站黑马学习记录:

其他信息

其他资源

Top