基于MaxCompute的热门话题分析

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。

基于MaxCompute的热门话题分析

1.  创建资源

开始实验之前,您需要先创建实验相关资源。

在实验室页面,单击创建资源。

(可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、子用户信息等)。

说明:资源创建过程需要3~5分钟视资源不同开通时间有所差异,ACK等资源开通时间较长。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等。

实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。

资源创建成功,可在左侧的资源卡片中查看相关资源信息以及RAM子账号信息

2.  登录阿里云控制台

双击打开虚拟桌面的Chromium浏览器

在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户密码用户密码输入框,单击登录

返回如下页面,表示您已成功登录阿里云控制台。

3.  上传数据

上传数据之前需要先进入DataWorks控制台,创建表,再往表中导入数据。

首先我们进入DataWorks工作空间

单击左上角的 图标,弹出菜单。

在菜单栏的中间部位,单击大数据开发治理平台DataWorks

在左侧导航栏中,单击工作空间列表

工作空间列表页面顶部,选择资源所在地域。例如下图中,地域切换为华东2(上海)。

说明:您可在云资源产品列表中查看实验室分配的DataWorks资源所在地域。

工作空间列表页面,单击数据开发,进入开发界面。

数据开发页面,需要创建一个ODPS SQL查询,ODPS即MaxCompute的别名。

6.1 在左侧导航栏中,单击临时查询

6.2 在临时查询面板,单击上方加号按钮。

6.3 在下拉菜单栏中,单击新建

6.4 在次级菜单栏中,单击ODPS SQL

新建节点。

7.1 在新建节点对话框中,路劲选择临时查询

7.2 给节点自定义任意名称,比如临时SQL 。

7.3 单击确认

创建好临时查询后,下面创建数据表。

CREATE TABLE `ttext` (
  `ttext_id` string,
  `user_id` string,
  `user_name` string,
  `user_age` int,
  `gender` string,
  `city_name` string,
  `created_at` datetime ,
  `ttitle` string,
  `reposts_count` int,
  `comments_count` int,
  `attitudes_count` int
)

通过以上SQL代码可以创建一个承载数据的表格。

8.1 将上述SQL代码复制粘贴到临时SQL的窗口中

8.2 单击上方运行按钮运行代码,如有弹框直接允许。

8.3 观察下面的日志,如下图中所示则创建完毕(此步骤无需操作)

创建好表格后,下面我们导入数据。

9.1 复制下方地址,在Chromium网页浏览器中,打开新页签,粘贴并访问,下载数据。

https://files.alicdn.com/tpsservice/b9f833b45bc3aec88506e97f36e1f6c9.csv

9.2 在左侧导航栏中,单击表管理

9.3 在表管理面板,单击上方导入按钮。

9.4 在将本地数据导入开发表对话框中,至少输入待查询的表前三个字母tte,会弹出ttext表。

9.5 单击下一步

导入开发表设置。

10.1 浏览本地数据CSV,在下载目录中双击刚刚下载好的数据文件。

10.2 选择UTF-8字符集。

10.3 首行为标题选择

10.4 单击下一步

导入开发表设置字段匹配。

11.1 选择按位置匹配,由于建表和CSV文件是提前准备好的,故按位置匹配即可。

11.2 单击导入数据

导入数据大约需要1~2分钟时间,请耐心等待。

4.  进行热点话题分析

需求1:2017年10月发送推文最多的10个城市是哪几个?这几个城市的用户共计发送了多少条推文?

执行SQL。

1.1 将如下SQL代码,复制粘贴到临时SQL的窗口中,单击上方运行按钮运行代码,如有弹框直接允许。

CREATE TABLE city_top as SELECT city_name, COUNT(ttext_id) as tempnum FROM `ttext` GROUP BY city_name ORDER BY tempnum desc limit 10

1.2 SQL解释:该SQL会查询各个城市各有多少条推文数量,并降序显示前十名的城市和推文数量,最后

把查询的前十名数据存储到一个叫做city_top的表中,便于下一步做可视化。

创建的city_top表可以在公共表处查询,如果您的界面没有公共表可根据如下操作进行开启。

2.1 在左侧导航栏中,单击左下角设置按钮。

2.2 在设置页面的模块管理区域,单击公共表

在左侧导航栏中,此时您可以看到公共表按钮,查询city_top表。

3.1 在左侧导航栏中,单击公共表

3.2 在公共表面板的查询输入框中,至少输入3个字母可查询表,例如输入cit,即可查询city_top表。

3.3 看到查询到的city_top表,并双击。

3.4 单击数据预览,查看数据。

 

需求2:2017年10月所有用户中性别男女比例是多少?

执行SQL。

1.1 将如下SQL代码,复制粘贴到临时SQL的窗口中,单击上方运行按钮运行代码,如有弹框直接允许。

CREATE TABLE gender_num as SELECT `gender` , COUNT(gender) as tempnum FROM `ttext` GROUP BY `gender`

1.2 SQL解释:按照性别分别查询男女的推文数量,并存储到gender_num的表中,便于下一步做可视化。

在公共表面板中,查询gender_num表。

2.1 在公共表面板的查询输入框中,至少输入3个字母可查询表,例如输入gen,即可查询gender_num表。

2.2 看到查询到的gender_num表,并双击。

2.3 单击数据预览,查看数据。

需求3:2017年10月所有用户年龄分布图集中趋势如何?

执行SQL。

1.1 将如下SQL代码,复制粘贴到临时SQL的窗口中,单击上方运行按钮运行代码,如有弹框直接允许。

CREATE TABLE age_num as SELECT `user_age` , COUNT(user_age) FROM `ttext` GROUP BY `user_age` ORDER BY `user_age` LIMIT 100

1.2 SQL解释:按照年龄分组查询各个年龄的用户总数,并按照年龄排序,最后存储到age_num的表中,便于下一步做可视化。

在公共表面板中,查询age_num表。

2.1 在公共表面板的查询输入框中,至少输入3个字母可查询表,例如输入age,即可查询age_num表。

2.2 看到查询到的age_num表,并双击。

2.3 单击数据预览,查看数据。

需求4:2017年10月哪些事件在互联网上热议,最热门的三个事件是什么

1、诺贝尔奖

2、麦当劳改名金拱门

3、十九大召开

4、拉斯维加斯持枪杀人事件

5、美国退出联合国教科文组织

6、鹿晗新女友

7、羞羞的铁拳上映

热门话题关键字:诺贝尔,金拱门,十九大,拉斯维加斯,教科文,鹿晗,羞羞铁拳。  

执行创建hot_topic表的SQL代码。

1.1 将如下SQL代码,复制粘贴到临时SQL的窗口中,单击上方运行按钮运行代码,如有弹框直接允许。

CREATE TABLE hot_topic
(
    ttitle  STRING,
    ttitle_num bigint
);

1.2 SQL解释:创建一个用来存储热门话题的数据表

执行向hot_topic表插入数据的SQL代码。

2.1 将如下SQL代码,复制粘贴到临时SQL的窗口中,单击上方运行按钮运行代码,如有弹框直接允许。

INSERT INTO hot_topic SELECT"诺贝尔", COUNT(ttitle)  FROM `ttext` WHERE ttitle like '%诺贝尔%'

2.2 SQL解释:针对不同的热门话题关键字分别执行查询并将结果存储到刚才创建的表中,以上代码需要编写7次执行7次,每次针对不同的关键字,最终将在hot_topic形成7条数据

在公共表面板中,查询hot_topic表。

2.1 在公共表面板的查询输入框中,至少输入3个字母可查询表,例如输入hot,即可查询hot_topic表。

2.2 看到查询到的hot_topic表,并双击。

2.3 单击数据预览,查看数据。

需求5:最热门的话题是哪个年龄段的用户讨论的

执行SQL。

1.1 将如下SQL代码,复制粘贴到临时SQL的窗口中,单击上方运行按钮运行代码,如有弹框直接允许。

CREATE TABLE hot_topic_age_num as SELECT `user_age` , COUNT(user_age) FROM `ttext` WHERE ttitle LIKE '%十九大%' GROUP BY `user_age` ORDER BY `user_age` LIMIT 100

1.2 SQL解释:在需求3的基础上,增加一个条件查询,限制话题是“十九大”的话题,然后再统计年龄分布。

在公共表面板中,查询hot_topic_age_num表。

2.1 在公共表面板的查询输入框中,至少输入3个字母可查询表,例如输入hot,即可查询hot_topic_age_num表。

2.2 看到查询到的hot_topic_age_num表,并双击。

2.3 单击数据预览,查看数据。

5.  数据可视化

本实验中使用的可视化功能基于DataWorks自带的电子表格的可视化功能。

首先需要打开电子表格。在左上角,单击 菜单图标,选择电子表格来制作可视化。

电子表格页面,单击新建电子表格

导入数据,导入的数据实际上就是我们前面从MaxCompute上分析得出的结论数据。

3.1 复制下方地址,在Chromium网页浏览器中,打开新页签,粘贴并访问,下载数据。

https://files.alicdn.com/tpsservice/3af99496968aa19075252ce864061773.xlsx

3.在右上角选择导入>本地文件,在下载目录中双击刚刚下载的数据文件。

3.3 导入数据后可以从下面的标签页来切换5个需求的数据。

需求1:2017年10月发送推文最多的10个城市是哪几个?这几个城市的用户共计发送了多少条推文?

在城市top10页签,选中所有数据。

在上方菜单栏中,单击柱状图

需求2:2017年10月所有用户中性别男女比例是多少?

性别分布页签,选中所有数据。

在上方菜单栏中,单击饼状图

需求3:2017年10月所有用户年龄分布图集中趋势如何?

年龄分布页签,选中所有数据。

在上方菜单栏中,单击折线图

我们观察到推文主要是13~45岁之间的用户发送。

需求4:2017年10月哪些事件在互联网上热议,最热门的三个事件是什么

热门话题页签,选中所有数据。

在上方菜单栏中,单击条形图

我们观察到最热门的话题是“十九大”。

需求5:2017年10月最热门的话题是哪个年龄段的用户讨论的

热门话题年龄分布页签,选中所有数据。

在上方菜单栏中,单击折线图

我们观察到讨论热门话题“十九大”的年龄分布是26~45岁,比所有话题的年龄分布偏大。

至此实验完毕,谢谢大家 !

实验链接:https://developer.aliyun.com/adc/scenario/9d85b0720e0f40c9bcf1fe3c91824a13

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【10月更文挑战第4天】在大数据时代,算法效率至关重要。本文从理论入手,介绍时间复杂度和空间复杂度两个核心概念,并通过冒泡排序和快速排序的Python实现详细分析其复杂度。冒泡排序的时间复杂度为O(n^2),空间复杂度为O(1);快速排序平均时间复杂度为O(n log n),空间复杂度为O(log n)。文章还介绍了算法选择、分而治之及空间换时间等优化策略,帮助你在大数据挑战中游刃有余。
58 4
|
7天前
|
存储 机器学习/深度学习 SQL
大数据处理与分析技术
大数据处理与分析技术
34 2
|
1月前
|
SQL 消息中间件 分布式计算
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
66 5
|
2月前
|
存储 大数据 测试技术
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
在大数据环境中,数据存储格式直接影响查询性能和成本。本文探讨了 Parquet、Avro 和 ORC 三种格式在 Google Cloud Platform (GCP) 上的表现。Parquet 和 ORC 作为列式存储格式,在压缩和读取效率方面表现优异,尤其适合分析工作负载;Avro 则适用于需要快速写入和架构演化的场景。通过对不同查询类型(如 SELECT、过滤、聚合和联接)的基准测试,本文提供了在各种使用案例中选择最优存储格式的建议。研究结果显示,Parquet 和 ORC 在读取密集型任务中更高效,而 Avro 更适合写入密集型任务。正确选择存储格式有助于显著降低成本并提升查询性能。
423 1
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
|
10天前
|
存储 监控 数据挖掘
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
56 14
|
16天前
|
消息中间件 分布式计算 大数据
数据为王:大数据处理与分析技术在企业决策中的力量
【10月更文挑战第29天】在信息爆炸的时代,大数据处理与分析技术为企业提供了前所未有的洞察力和决策支持。本文探讨了大数据技术在企业决策中的重要性和实际应用,包括数据的力量、实时分析、数据驱动的决策以及数据安全与隐私保护。通过这些技术,企业能够从海量数据中提取有价值的信息,预测市场趋势,优化业务流程,从而在竞争中占据优势。
51 2
|
17天前
|
数据采集 机器学习/深度学习 搜索推荐
大数据与社交媒体:用户行为分析
【10月更文挑战第31天】在数字化时代,社交媒体成为人们生活的重要部分,大数据技术的发展使其用户行为分析成为企业理解用户需求、优化产品设计和提升用户体验的关键手段。本文探讨了大数据在社交媒体用户行为分析中的应用,包括用户画像构建、情感分析、行为路径分析和社交网络分析,以及面临的挑战与机遇。
|
17天前
|
机器学习/深度学习 搜索推荐 大数据
大数据与教育:学生表现分析的工具
【10月更文挑战第31天】在数字化时代,大数据成为改善教育质量的重要工具。本文探讨了大数据在学生表现分析中的应用,介绍学习管理系统、智能评估系统、情感分析技术和学习路径优化等工具,帮助教育者更好地理解学生需求,制定个性化教学策略,提升教学效果。尽管面临数据隐私等挑战,大数据仍为教育创新带来巨大机遇。
|
20天前
|
人工智能 供应链 搜索推荐
大数据分析:解锁商业智能的秘密武器
【10月更文挑战第31天】在信息爆炸时代,大数据分析成为企业解锁商业智能的关键工具。本文探讨了大数据分析在客户洞察、风险管理、供应链优化、产品开发和决策支持等方面的应用,强调了明确分析目标、选择合适工具、培养专业人才和持续优化的重要性,并展望了未来的发展趋势。
|
1月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
70 1

相关产品

  • 云原生大数据计算服务 MaxCompute