2017云栖大会·杭州峰会:《在线用户行为分析:基于流式计算的数据处理及应用》之《流数据处理:通过StreamSQL分析视频日志》篇

简介: 2017云栖大会·杭州峰会:《在线用户行为分析:基于流式计算的数据处理及应用》之《流数据处理:通过StreamSQL分析视频日志》篇

实验背景介绍

了解更多2017云栖大会·杭州峰会 TechInsight & Workshop.

本手册为云栖大会·杭州峰会Workshop之《在线用户行为分析:基于流式计算的数据处理及应用》场的《流数据处理:通过StreamSQL分析视频日志》篇所需。主要帮助现场学员熟悉并掌握阿里云流计算StreamCompute的操作和使用。

实验涉及大数据产品

前提准备

  • 确保已经从云中沙箱中获取了实验所需的阿里云账号和密码。

进入阿里云流计算开发平台

前往授权

  • step2:在云资源访问授权页面,点击同意授权

同意授权

声明数据来源

该业务场景是以Log来采集的实时视频日志流,下面需要用StreamCompute来分析处理视频流日志。

  • step1:点击顶部菜单栏中的开发,进入开发页面。

进入开发

  • step2:右键选择新建文件夹,在弹出框中填写文件夹名称为workshop_log(可根据需求命名),点击创建

点击新建

点击新建文件夹

  • step3:在新建的workshop_log文件夹上右键选择新建作业,在新建作业弹出框中命名作业名称为workshop(可根据需求命名),点击新建

创建作业

配置作业

  • step4:根据需求修改代码备注信息,进入编写StreamSQL开始编写SQL。

创建StreamSQL

  • step5:引用数据来源于前面章节已经配置成功的Log信息。

引用Log

SQL逻辑如下:

CREATE TABLE client_operation_log (
    userid     VARCHAR,
   `timestamp` VARCHAR
) WITH (
    type='sls',
    endPoint='http://cn-shanghai-intranet.log.aliyuncs.com',
    AccessId='账号对应的accessID',
    AccessKey='账号对应的accesskey',
    project='前一章节中日志服务的project名称',
    logStore='client-operation-log'
);

声明数据目标

经过StreamCompute分析处理的数据最终写入RDS存储中。

  • 创建结果表,其将结果输出到RDS表中。
    数据目标

出品方为大家准备了RDS,每个学员的数据库名称均为workshop_[abc],其中[abc]为您的云账号后三位数字,比如云账号为train00620@aliyun-inc.com,那么您需要替换为workshop_620.

SQL逻辑如下:

create table online_num(
    start_time TIMESTAMP,
    count_value BIGINT,
    PRIMARY KEY(start_time)
) 
with (
  type='rds',
  url='jdbc:mysql://rm-uf6t1mym355i3qdsw.mysql.rds.aliyuncs.com:3306/workshop_[abc]',--记得替换为自己的数据库名
  tableName='online_num',
  username='root',
  password='Workshop001'
);

编写StreamSQL分析数据

进入核心逻辑编写阶段,计算指标为统计当前在线人数

  • 编写当前在线人数的StreamSQL计算逻辑。

编写逻辑

SQL逻辑如下:

INSERT INTO 
    online_num
SELECT
    CAST(from_unixtime(CAST(`timestamp` AS BIGINT)/1000) AS TIMESTAMP),
    COUNT(DISTINCT userid)
FROM
    client_operation_log
GROUP BY
    CAST(from_unixtime(CAST(`timestamp` AS BIGINT)/1000) AS TIMESTAMP);

提交作业

  • step1:点击右侧的资源配置tab页,展开具体信息。

资源配置

  • step2:点击蓝色获取自动生成JSON配置,等待数秒后生成完毕。
    资源配置

直到生成完毕,如下图所示:

资源配置

  • step3:点击保存按钮保存当前配置信息,即后点击提交将代码提交至Blink引擎。

保存配置

提交配置

启动作业

通过上述步骤将已经创建好的StreamSQL作业提交至生产集群上,但还需要在运维中进行启动作业,方可执行流式作业。

  • step1:点击顶部菜单栏中的运维进入运维中心。

进入运维

  • step2:找到自己的流式作业workshop,点击操作栏中的启动

点击启动

  • step3:在启动作业对话框中,点击按以上配置启动

启动作业

通过上述步骤作业处于启动中,直至状态显示运行,表示作业上线并启动成功。

启动中

启动

  • step4:点击任务操作栏中的查看详情进入运维大屏查看任务概况。

查看

  • step5:在作业仪表盘中开启实时刷新,并关注数据输入和数据输出,如下图显示正常表示流式任务处理正常。

开启实时刷新后,底下的监控图会由于作业提交集群执行过程有所1分钟左右延迟刷出。

作业仪表盘

确认数据产生

流式作业跑起来,还需要确认是否数据已经写入目标端。

  • step1:首先在作业仪表盘中确认数据输入数据输出是否正常。
    作业仪表盘
  • step2:从作业仪表盘中确认数据输入和输出都正常,也可在血缘关系图中进行数据抽样。
  • step3:切换至血缘关系图找到目的端RDS,右键并选择抽样数据

血缘关系图

数据抽样结果如下:

数据抽样

数据抽样结果如上图所示,至此我们针对实时在线人数的指标已经完成。其他相关指标大家可以专心听讲师分析和讲解,后续也会提供源码。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
26天前
|
监控 Serverless 数据库
Serverless 应用引擎常见问题之biphon-education-配置了SLS后一直重启如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
28 5
|
29天前
|
运维 监控 数据挖掘
应用研发平台EMAS产品常见问题之将阿里后台的日志落到我们后台失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
2月前
|
Web App开发 前端开发 JavaScript
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
乱花渐欲迷人眼 - 让 SAP UI5 应用的日志输出不再素面朝天
46 0
|
3月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
3月前
|
监控 Android开发 C语言
深度解读Android崩溃日志案例分析2:tombstone日志
深度解读Android崩溃日志案例分析2:tombstone日志
82 0
|
2月前
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
234 1
|
2月前
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
让 SAP UI5 应用的日志打印变得五彩缤纷试读版
97 2
|
2天前
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断2
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
|
2天前
|
机器学习/深度学习 前端开发 数据挖掘
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
33 0
|
14天前
|
SQL 存储 监控
日志问题精要:分析与总结
该文档讲述了应用系统日志记录的重要性和规则。主要目的是记录操作轨迹、监控系统状态和回溯故障。日志记录点包括系统入口、调用其他模块、调用结束、出口和出错时。内容应遵循UTF-8编码,避免敏感信息,按INFO级别记录,及时、完整且安全。日志输出要控制频率和长度,不影响系统性能,并按策略备份和清理。日志等级分为DEBUG、INFO、WARN、ERROR和FATAL。日志文件应有明确目录结构,大小有限制,并定期清理。注意事项包括输出异常堆栈、避免打印对象实例的hashCode、选择合适的日志框架和格式,并支持动态修改日志级别。还要实现链路追踪,确保在多线程环境中正确记录日志。
16 0