网易新闻点击量分析 – 操作指南

by prentiss 2021-11-03

数据开发的目的是使用各种工具来分析数据,从数据中产生可指导行动的商业洞见,是从数据到价值的转换过程。在很多场景下,数据分析人员需要对海量的数据进行快速的分析,性能上要像在传统的数据仓库中运行查询语句一样,在几秒钟内得到数据分析的结果。

本README将以向导的形式,向大家展示一个典型的端到端大数据分析实例,包括数据采集、数据处理和数据分析及数据导出这几个步骤:

第一步,数据采集:在BDOS Online大数据平台,通过爬虫步骤爬取网易网页新闻,并将这些新闻数据存入HDFS(为方便用户体验,本系统将提供已爬取完成的一个样例数据供用户下载,用户可通过URL文件导入,导入到系统的HDFS;

第二步,数据处理:在Hive程序步骤中对新闻数据进行清洗并统计;

第三步,数据导出:再将统计后的数据导入到MySQL数据仓库中;

第四步,BI报表:使用Superset进行数据探索,将MySQL数据仓库中的统计数据以可视化的方式展示出来,分析网易新闻的受欢迎程度。(即将推出)

用户只需克隆本项目,通过几次简单的点击,即可完成端到端的数据分析场景。

完整文档下载链接

步骤介绍

1.克隆公共项目

用户登陆 BDOS Online 后,通过项目类型筛选公共项目,选择企业数仓-场景体验进行克隆

点击克隆,并自定义项目名称

进入项目主页

2. 启动项目步骤

2.1 数据库采集,新闻数据导入

克隆公共项目-企业数仓后,进入步骤1:新闻数据导入

保持默认配置内容并点击下一步

点击保存后,点击试运行

查看运行记录

查看导入到公共 Hive 库的数据表

2.2 转数据分析–Hive程序步骤:数据清洗

通过本步骤对 Hive 库表数据进行清洗,并存入到新的 Hive 表。进入步骤2:数据清洗,点击进入编辑界面

编写主程序

-- 创建数据清洗结果数据存放表,设置表的字段名称和类型
CREATE TABLE IF NOT EXISTS public_project_data.{{username}}_warehouse1 (
  `item` string,
  `time` string,
  `title` string,
  `urls` string,
  `clicks` int)
PARTITIONED BY(year string,month string,day string)
STORED AS TEXTFILE;

-- 插入分区字段:year、month、day,并从原始表选择字段数据写入数据清洗结果表
INSERT OVERWRITE TABLE public_project_data.{{username}}_warehouse1 PARTITION(year='2021',month='03',day='13')
SELECT item
    , `time`
    , title
    , urls
    , clicks
FROM (SELECT item
          , `time`
          , title
          , urls
          , clicks
          , row_number() over (PARTITION BY urls ORDER BY clicks desc) as rn
      FROM public_project_data.{{username}}_public_project_data_datawarehouse_source_full
      WHERE create_timestamp>='2021-03-13 00:00:00'
      ) t
WHERE t.rn=1

保持默认,点击保存后,点击试运行

step8

运行完成后,可以在运行记录中确认运行结果。

查看运行记录

参考截图查看Hive程序运行记录,可点击运行名称查看日志详情

预览数据表

用户从【管理-个人-数据表管理】菜单进入,通过数据源类型和数据库筛选,可预览上一个步骤创建的数据表数据

2.3 数据分析–Hive程序步骤:数据统计

通过本步骤对数据进行统计分析,并把输出写入新的 Hive 表。进入步骤3:数据统计,点击进入编辑界面

编写主程序

-- 创建数据统计结构表,设置表的字段名称和类型
CREATE TABLE IF NOT EXISTS public_project_data.{{username}}_warehouse2 (
  `item` string,
  `time` string,
  `title` string,
  `urls` string,
  `clicks` int,
  `last_clicks` int,
  `new_clicks` int)
PARTITIONED BY(year string,month string,day string)
STORED AS TEXTFILE;

-- 插入分区字段:year、month、day,并从原始表选择字段,对数据进行时间筛选,点击数量进行汇总统计,并把结构写入数据统计结果表
INSERT OVERWRITE TABLE public_project_data.{{username}}_warehouse2 PARTITION(year='2021',month='03',day='13')
SELECT item
    , `time`
    , title
    , urls
    , clicks
    , lag(clicks,1,0) over(PARTITION BY urls ORDER BY year,month,day) as last_clicks
    , clicks - lag(clicks,1,0) over(PARTITION BY urls ORDER BY year,month,day) as new_clicks
FROM public_project_data.{{username}}_warehouse1
WHERE CONCAT(year,'-',month,'-',day,' 00:00:00')>='2021-03-13 00:00:00'
AND CONCAT(year,'-',month,'-',day,' 00:00:00')<='2021-04-01 00:00:00'

保持默认,点击保存后,点击试运行

查看运行记录

运行完成后,可以在运行记录中确认运行结果。

预览数据表

用户从【管理-个人-数据表管理】菜单进入,通过数据源类型和数据库筛选,可预览上一个步骤创建的数据表数据

2.4 数据转换–ETL程序:数据转换导出

通过本步骤,对结果数据进行转换,从 Hive 库转换到目标 MySQL 库。

保持默认并点击下一步

注:请点击获取建表语句

保持默认,并点击下一步

查看字段映射

选择需要检查的字段并进行匹配校验

点击下一步

查看样例数据

点击保存后,点击试运行

查看运行结果

可点击运行名称进入,查看运行详情

2.5 工作流调度

调整完成后,在项目的工作流与依赖试图界面,将左侧的项目步骤中,逐个拖入试图中,并建立如下图所示的依赖。

step5

设置调度时间

点击设置流水线调度

点击确认后点击保存,再启动流水线

查看流水线运行状态

3. 可视化展示(仅限企业账号)

备注:如需申请企业账号,请联系

用户通过导航【集成工具-机构工具进入】,点击Superset的进入工具图标,跳转至Superset主界面

通过Superset导航【数据-数据集】进入,点击+数据集

3.1 添加数据集

名称内容描述
数据源public_project_data选择系统默认提供的MySQL公共数据源
模式public_project_data选择系统默认的Schema模式
下拉框选择选择需要进行可视化展示的目标表

点击新增

3.2 添加图表

通过菜单导航至【图表】界面,点击+图表

名称内容描述
选择数据源下拉框选择选择添加的目标数据集
点击选择图表类型选择需要进行展示的图表类型

点击创建新图表

名称内容描述
指标count(*)保持默认
序列item选择字段作为展示维度,可多选

点击执行后,点击保存

3.3 添加看板

通过菜单导航至【看板】界面,点击+看板

点击编辑图标进入看板编辑界面,选择【图表】,把模板图表手动拖拽添加至左侧看板画布

点击保存

留言

评论

${{item['author_name']}} 回复 ${{idToContentMap[item.parent] !== undefined ? idToContentMap[item.parent]['author_name'] : ''}} · ${{item.date.slice(0, 10)}} 回复

暂时还没有一条评论.