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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 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日志并进行多维度分析。
目录
相关文章
|
1月前
|
机器学习/深度学习 存储 监控
Elasticsearch 在日志分析中的应用
【9月更文第2天】随着数字化转型的推进,日志数据的重要性日益凸显。日志不仅记录了系统的运行状态,还提供了宝贵的洞察,帮助企业改进产品质量、优化用户体验以及加强安全防护。Elasticsearch 作为一个分布式搜索和分析引擎,因其出色的性能和灵活性,成为了日志分析领域的首选工具之一。本文将探讨如何使用 Elasticsearch 作为日志分析平台的核心组件,并详细介绍 ELK(Elasticsearch, Logstash, Kibana)栈的搭建和配置流程。
96 4
|
2月前
|
Java API 开发者
你的应用是不是只有service_stdout.log?
本文记录了logback-spring.xml文件不生效问题的整体排查思路。
|
11天前
|
运维 安全 架构师
2024云栖大会 | 阿里云网络技术Session主题资料和视频回放归档(更新中)
2024年9月19日-21日,杭州,一年一度的云栖大会如期而至;阿里云飞天洛神云网络作为阿里云计算的连接底座,是飞天云操作系统的核心组件,致力于为上云企业提供高可靠、高性能、高弹性、智能的连接服务。本次云栖,云网络产品线也带来全系列产品升级,以及创新技术重磅解读,围绕增强确定性、深度可观测、高效自动化和敏捷全球化带来技术、产品和服务升级,以及全新的生态伙伴合作构建。
142 9
|
11天前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
|
18天前
|
人工智能 云栖大会
AI Infra的前沿技术与应用实践 | 2024云栖大会预告
AI Infra的前沿技术与应用实践 | 2024云栖大会
|
16天前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
08-06-06>pe_xscan 精简log分析代码 速度提升一倍
08-06-06>pe_xscan 精简log分析代码 速度提升一倍
|
2月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
2月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
2月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
下一篇
无影云桌面