Waterdrop:构建在Spark之上的简单高效数据处理系统.docxVIP

Waterdrop:构建在Spark之上的简单高效数据处理系统.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Waterdrop:构建在Spark之上的简约高效数据处理系统 以一个线上案例为例,引见如何使用Spark Streaming统计Nginx后端日志中每个域名下每个形态码每分钟消灭的次数,并将结果数据输出到外部数据源Elasticsearch中。其中原始数据已经通过Rsyslog传输到了Kafka中。 数据读取 从Kafka中每隔一段时间读取数据,生成DStream 具体方法参考Spark Streaming + Kafka Integration Guide。 数据清洗 日志案例 通过Split方法从非结构化的原始数据message中猎取域名以及形态码字段,并组成便利聚合的结构化数据格式Map(key - value) 数据聚合 利用Spark供应的reduceByKey方法对数据进行聚合计算,统计每分钟每个域名下的每个错误码消灭的次数,其中mapRdd是在清洗数据阶段组成的RDD 数据输出 利用Spark供应的foreachRDD方法将结果数据reduceRdd输出到外部数据源Elasticsearch 问题 我们的确可以利用Spark供应的API对数据进行任意处理,但是整套规律的开发是个不小的工程,需要肯定的Spark基础以及使用阅历才能开发出稳定高效的Spark代码。除此之外,项目的编译、打包、部署以及测试都比较繁琐,会带来不少得时间成本和学习成本。 除了开发方面的问题,数据处理时可能还会遇到以下不行躲避的麻烦: 数据丢失与反复 任务积累与延迟 吞吐量低 应用到生产环境周期长 缺少应用运转形态监控 因而我们开头尝试愈加简约高效的Spark方案,并试着处理以上问题 一种简约高效的方式 -- Waterdrop Waterdrop 是一个格外易用,高功能,能够应对海量数据的实时数据处理产品,构建于Apache Spark之上。 Waterdrop 项目地址:https://interestinglab.github.io/waterdrop Spark当然是一个优秀的分布式数据处理工具,但是正如上文所表达的,Spark在我们的日常使用中还是存在不小的问题。因而我们也发觉了我们的机会 —— 通过我们的努力让Spark的使用更简约,更高效,并将业界和我们使用Spark的优质阅历固化到Waterdrop这个产品中,明显削减学习成本,加快分布式数据处理力量在生产环境落地 Waterdrop 的中文是“水滴”,来自中国当代科幻小说作家刘慈欣的《三体》系列,它是三体人制造的宇宙探测器,会反射几乎全部的电磁波, 表面确定光滑,温度处于确定零度,全部由被强互作用力紧密锁死的质子与中子构成,无坚不摧。 在末日之战中,仅一个水滴就摧毁了人类太空武装力气近2千艘战舰。 Waterdrop 的特性 简约易用,机警配置,无需开发;可运转在单机、Spark Standalone集群、Yarn集群、Mesos集群之上。 实时流式处理, 高功能, 海量数据处理力量 模块化和插件化,易于扩展。Waterdrop的用户可依据实际的需要来扩展需要的插件,支持Java/Scala实现的Input、Filter、Output插件。 假如您对插件扩展感爱好,可移步至Waterdrop插件开发 支持利用SQL做数据处理和聚合 Waterdrop 的原理和工作流程 假如想准时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop Waterdrop 利用了Spark的Streaming, SQL, DataFrame等技术,Java的反射机制、Service Loader等技术以及Antlr4的语法解析技术, 实现了一套完整的可插拔的数据处理工作流,如下: 假如想准时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop 多个Filter构建了数据处理的Pipeline,满足各种各样的数据处理需求,假如您生疏SQL,也可以直接通过SQL构建数据处理的Pipeline,简约高效。 目前Waterdrop支持的Filter列表(数据处理插件), 仍旧在不断扩充中。 您也可以开发本人的数据处理插件,整个系统是易于扩展的。通过下面的配置示例,你可以快速了解到这种工作流程: spark是spark相关的配置,可配置的spark参数见: Spark Configuration, 其中master, deploy-mode两个参数不能在这里配置,需要在Waterdrop启动脚本中指定。 input可配置任意的input插件及其参数,具体参数随不同的input插件而变化。input支持包括File, Hdfs, Kafka, S3, Socket等插件。 filter可配置任意的fi

文档评论(0)

liuxiyuliuxingyu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档