专栏首页Flink实战应用指南Flink Forward 2019--实战相关(9)--Yelp公司分享CEP应用

Flink Forward 2019--实战相关(9)--Yelp公司分享CEP应用

Creating millions of user sessions using Complex Event Processing -- Prem Santosh & Udaya Shankar(Yelp)

Every day, Yelp connects millions of consumers with great local businesses through the website and mobile apps. We strive to provide our users with an ever-evolving, excellent experience by constantly running a plethora of experiments based on user activity.

每天,Yelp都通过网站和移动应用程序将数百万消费者与当地的大企业联系起来。我们通过不断地运行大量基于用户活动的实验,努力为用户提供不断发展、卓越的体验。

A user session encapsulates all of a single user’s activity until the user has been dormant for 30 minutes. Creating user sessions requires us to process hundreds of millions of log events occurring daily and applying filters on them. Due to the large volume of log events, creation of these sessions presents us with several application level challenges, including: handling of late events, filtering bot traffic, etc. Features like event time and exactly once processing that are provided by Flink made building such a large scale streaming application like ours possible.

用户会话将封装单个用户的所有活动,直到用户休眠30分钟。创建用户会话需要我们处理每天发生的数亿个日志事件,并对它们应用过滤器。由于大量的日志事件,创建这些会话会给我们带来几个应用程序级别的挑战,包括:处理延迟事件、过滤bot流量等。Flink提供的事件时间和一次性处理等功能使构建像我们这样的大规模流式应用程序成为可能。

Our main motivation to move towards streaming from batch processing stemmed from the fact that our feedback on analysis based on user sessions was always a day late and as an added bonus it also meant integrating with our state-of-the-art data-pipeline ecosystem.

我们从批处理转向流式处理的主要动机源于这样一个事实:我们对基于用户会话的分析的反馈总是晚了一天,作为额外的奖励,它还意味着要与我们最先进的数据管道生态系统集成。

In this talk we will not only discuss why Yelp moved from creating user sessions using batch jobs to generating them in near-real-time using Apache Flink but also highlight issues we encountered with continuous bot traffic that never closed the session window, adding custom triggers for long running sessions, duplicate events while allowing late events to be processed, auditing of the created sessions etc.

在本次讨论中,我们不仅将讨论Yelp为什么从使用批处理作业创建用户会话转移到使用Flink近实时生成用户会话,还将重点讨论我们在不关闭会话窗口的连续bot通信中遇到的问题,为长时间运行的会话添加自定义触发器,在允许延迟事件的同时复制事件。要处理的事件、已创建会话的审核等。

本文分享自微信公众号 - Flink实战应用指南(FlinkChina),作者:阿泽

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Protocol Buffer Basics: Java(一)

    This tutorial provides a basic Java programmer's introduction to working with pr...

    阿泽
  • [新知] Honeywell准备在3个月内推出量子电脑

    “ Honeywell标榜所打造的量子电脑架构,有别于Google及IBM採用基于Transmon的量子技术,而且近期将发表量子体积至少达64的超强量子电脑。”...

    阿泽
  • Protobuf介绍和整合SpringBoot

    1.服务之间的调用,协议部分,我们统一采用二进制协议protobuf over HTTP,协议版本统一采用protobuf3,接口定义语言教材:

    阿泽
  • GAPS:自动多项式求解器的生成器(CS RO)

    计算机视觉中的最小问题提出了为多项式方程组生成高效自动求解器的需求。给定一个使用不同系数实例重复的多项式系统,传统的Gröbner基或基于范式的解决方案效率很低...

    时代在召唤
  • 系统学习javaweb-05-网络编程

    csxiaoyao
  • GATK4最佳实践-体细胞突变的检测与识别

    分析体细胞突变时,通常采用tumor_vs_nomal 的实验设计。在检测时,由于同时会检测出生殖细胞突变和体细胞突变,需要做的就是去除生殖细胞突变位点,那么剩...

    生信修炼手册
  • 9 款样式华丽的 jQuery 日期选择和日历控件

    现在的网页应用越来越丰富,我们在网页中填写日期和时间已经再也不用手动输入了,而是使用各种各样的日期时间选择控件,大部分样式华丽的日期选择和日历控件都是基于jQu...

    哲洛不闹
  • 如何解决HP QC(Quality Center)在Windows 7下不能工作的问题

    HP QC(Quantity Center)是一款不错的测试管理工具,最近把公司的操作系统从Windows XP升级到Windows 7之后,发现登录到QC S...

    蒋金楠
  • Distribute Cached 使用

      在Kettle中说到Pentaho的MapReduce要用到它,就查了一下关于它的资料,以下是从官方查到的内容,记录一下。   DistributedCac...

    岑玉海
  • socket02-ServerSocket 服务端

    潇洒

扫码关注云+社区

领取腾讯云代金券