Spark中的流数据处理方案

本文介绍了在星环大数据平台TDH中实现实时数据处理的原理.

1.  什么是流数据?

流式处理中假定流入系统的数据是持续不断的。它具有以下几个特点:

数据实时到达;

数据到达次序独立,不受应用系统所控制;

数据规模宏不能预知其最大值;

数据一经处理,除非特意保存,否则不能被再次取出处理,或者再次提取数据代价昂贵。

流数据在网站监控和网络监控;、信息系统异常检测、网页监控和金融服务等应用领域广泛出现,通过对流数据研究可以进行卫星云图监测、股市走向分析、网络攻击判断等。

在实际应用中,流数据的来源繁多,包括:TCP socket,Kafka,Flume,Twitter等。流数据通过Spark核心API、DataFrame SQL或者机器学习API处理,并可以持久化到本地文件、HDFS、数据库或者其它任意支持Hadoop输出格式的形式。


图:数据流向示意图

2.流数据处理框架

在Spark技术被广泛接受之前,数据处理中的一大难题就是如何将批处理和实时处理结合起来。为了解决这个难题,人们提出了很多解决方案。随着Spark技术的发展,流数据计算系统和全量计算系统的统一成为了可能。Spark本身可以用于批处理,而构建在Kappa架构之上的Spark Streaming又可以用于实时计算,因此利用一套系统来应对批处理和实时计算相结合的业务完全是可行的。Kappa架构的核心思想包括以下三点:

用Kafka或者类似的分布式队列系统保存数据,可以任意指定数据量保存的天数。

当需要全量重新计算时,重新建立一个流计算实例,从头开始读取数据进行处理,并输出到一个新的结果存储中。

当新的实例做完后,停止原有的流计算实例,并把原有的一些结果删除。


图:Kappa架构图

如上图所示,假设系统通过Kafka接入实时数据(日志数据、json数据等),不同类型的实时数据通过Topic区分。在系统进行流数据处理时,指定不同的处理方法StreamJob给各个Topic。通过配置每隔一定时间会从Kafka消息队列中接收一批时序数据。这一批数据中包含了多个数据单元。当前批次的数据会被映射成一张二维关系表。通过流数据引擎处理的结果可以存在HBase等数据库中,也可以使用内存列式存储。应用程序可以通过SQL查询到处理结果,进行统计分析。


图:流数据处理流程

3. 实时数据和批量数据混合处理方案

目前,大部分的实时信息分析系统的主要任务是要在不断产生的、海量的、格式多样的日常交易数据中快速发现问题,最好可以在问题发生时就发出预警。传统的数据库由于本身结构的限制,主要通过预设的条件,例如按月或按周的形式形成报表。这样就无法作到实时报警,快速反应。另一方面,单一使用流数据也无法利用所有有用的信息。一个高效的系统需要能够在综合利用历史存量数据的情况下,快速得到分析结果。

UDF (User-Defined Functions)是便于用户创建处理存储在Apache Hive中的数据的一种机制。用户可以自定义函数的输入输出参数。将UDF与StreamJob结合在一起使用可以实时的查询历史数据中相关内容用于实时数据的计算处理。随着UDF的不断演化,它可以被利用在其他Hadoop生态圈中的数据库上,例如:Hyperbase,Holodesk。虽然它的效率越来越高。在实际使用过程中,工程人员也要注意UDF的优化。


图:实时数据和批量数据的混合处理

参考:

Transwarp - 新闻详情


Apache Kafka 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容