2019独角兽企业重金招聘Python工程师标准>>>

    如何做流数据分析,Byron Ellis来告诉你...

流数据越来越多,如各种消息、社交媒体、运行监控、在线服务、物联网等都会产生大量的实时数据,以前的静态数据也随着采集设备的进化和处理需求的提高而成为流式数据,需要采用具有高可用、低延迟和快速水平扩展的系统来进行处理。《实时分析-流数据的分析与可视化技术》一书对此做了较为全面的介绍,由[美]Byron Ellis编著,王晓伟翻译,机械工业出版社出版。

流数据的处理与传统数据库有所不同,要求具有高可用、低延迟和快速水平扩展能力,这带来了特殊的挑战。所幸的是,大量的开源软件已经探索出了很好的方法,尽管还有很多美中不足,但已足以解决大量的流数据处理和分析所遇到的问题。由于运行在大规模的集群之上而且实时性要求高,流数据的事务性是个非常棘手的问题。根据性能要求和应用的特点,可以采用允许丢失数据、至少交付一次、允许重复交付等多种策略,当然也可以使用“有且只有一次”的严格事务模型,但这在分布式系统下将带来额外的检查开销,建议通过业务层面去进行处理从而提升数据前端的实时性。

流数据分析架构包括数据采集、数据流程、数据处理、数据存储、数据交付等多个组成部分。要维持流数据平台的持续运行,可以采用ZooKepper对集群进行管理,实现各个节点的信息同步和状态管理。数据采集可以使用MQTT、AMQP、JMS等标准消息协议连接,数据采用JSON格式进行编解码,传输过程使用Kafka或Storm来进行快速传输,数据处理使用Spark或Flink会有很好的效果,而传统Hadoop的MapReduce则会遇到启动慢、实时性差的一些问题。Spark是采用“小步快跑”的批处理策略,基于内存的数据管理机制避免了MapReduce的数据反复IO问题,可以大幅度提升性能。Flink则能提供“即时”的数据处理能力,当然,这与传统的很多软件可能并不兼容,所以还是替代不了Spark,可以结合起来使用。流数据存储可以分为多级,像梯级水库一样进行管理,实时处理的采用内存,热数据采用Redis、MongoDB等,而冷数据和定期抽样数据可以采用传统文件系统和关系数据库存储。在数据处理中,数据存储应该全部采用异步方式,而且尽量避免调用文件和传统数据库存储系统,以免影响数据流动,造成延迟、丢失数据。对于日志数据,已经有完整的解决方案,比如ELK(ElasticSearch、Logstash、Kinbana)、Flume等等,而且可以通过容器技术快速安装、部署。现在,流数据处理再也不是高端产品和大型互联网公司的专利了,小型队伍照样可以玩得转。不过,要维护一个流系统的长期运行和不断升级,还是需要一个专业队伍的,成本也是不菲的。

流数据的可视化得益于HTML5、WebSocket和Node.JS等技术和平台,已经可以较为轻松地完成,实现实时的数据更新和高动态的可视化效果,开发出以前难以想象的流畅效果,而且可以运行在很多种Web平台和设备之上。Byron Ellis对这些技术的使用做了实用的介绍,但如果使用SuperMap iClient 9D里面的SDK,则可以更为轻松地完成非常炫酷的Web动态效果(已经集成好了,不要说我没告诉你哟)。

在Spark里面,所有的数据统计分析、回归分析、分类识别乃至机器学习的算法也都是可以在流数据上面使用的,这些能力非常强大。不过,也需要注意到分段统计的这些传统算法在处理持续的流数据方面的局限性,也期待具有更好的“流式数据专用”处理算法。不过,Byron Ellis没有告诉你的是,在SuperMap的系列平台中,iServer、iObject、iDesktop都能够利用Spark的能力对空间和非空间数据进行处理,然后直接发布到Web可视化前端,所具有的流数据处理和分析能力可以说是潜力无限啊!

转载于:https://my.oschina.net/u/2306127/blog/1535226

如何做流数据分析,Byron Ellis来告诉你...相关推荐

  1. 风控中必做的数据分析

    大数据领域就没有不做数据分析的,大数据风控也不例外. 我的观点是风控和其他互联网业务都是互通的,本文介绍下风控中必做的数据分析,用以说明数据分析是一通百通的. 工欲善其事,必先利其器.先说下数据分析的 ...

  2. 动态数据交换 python_如何用 Python 和 Streamlit 做交互式数据分析产品?

    「本文参与少数派 2019 年度征文 + 效率有心得」 不用学前端编程,你就能用 Python 简单高效写出漂亮的交互式 Web 应用,将你的数据分析成果立即展示给团队和客户. 痛点 从我开始折腾数据 ...

  3. 初创公司怎么做销售数据分析_为什么您的初创企业需要数据科学来解决这一危机...

    初创公司怎么做销售数据分析 The spread of coronavirus is delivering a massive blow to the global economy. The lock ...

  4. 网站点击流数据分析系统揭晓

    网站点击流数据分析项目业务背景 1.1 什么是点击流数据 1.1.1 WEB访问日志 即指用户访问网站时的所有访问.浏览.点击行为数据.比如点击了哪一个链接,在哪个网页停留时间最多,采用了哪个搜索项. ...

  5. 暑假到了,是一个旅游旺季,用 PHP 爬虫做旅游数据分析,让我们更好的外出旅行吧!

    用 PHP 爬虫做旅游数据分析 声明: 采集程序只做技术研究使用,切不可做出格的事以免惹来麻烦 首先感谢广大网友的支持,现将源代码公开,地址如下: https://github.com/owner88 ...

  6. 抓住这几个关键点,做薪酬数据分析并不难

    看过众多的薪酬数据分析内容,可以说每个内容里面分析的思路也不相同,每个人对薪酬数据分析的理解也不同,这个模块的数据分析有没有通用的思路呢? 这篇分享几个正确高效做薪酬数据分析的方法,希望对大家有所启示 ...

  7. 流数据分析平台Storm简介

    流数据分析平台Storm简介 Storm是一个分布式的.容错的实时流计算系统,可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比Hadoop之于批处理.Storm保证 ...

  8. 0代码就能做Python数据分析,这个Jupyter插件,用起来就像Excel一样简单

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 加载一个Jupyter插件后,无需写代码就能做数据分析,还帮你生成相应代码? 没错,只需要加载这个名为Mito的小工具包,用Python做数 ...

  9. python与excel做数据可视化-python做可视化数据分析,究竟怎么样?

    Python做可视化数据分析也是可以的,只是对比起来专业的可视化工具有些得不应手,做出来的图可能不太美观.Python用来处理数据,用来分析绝对可以.我觉得想要可视化可以使用专门的可视化工具. 不过, ...

最新文章

  1. 2019第十二届“认证杯”数学建模(第二阶段)
  2. (004)RN开发VSCode调试ReactNative项目
  3. linux sort 命令详解
  4. es6 Symbol概述
  5. Python并行判断多个大整数是否为素数
  6. VB 判断IP能否ping通
  7. OpenCV图像处理(14)—— 图像转视频
  8. [机器学习]机器学习常用的模型评估方法
  9. 微信技术总监周颢:一亿用户背后的架构秘密
  10. 手游LTV(生命周期价值)计算公式
  11. Go语言类库-reflect(反射)
  12. C语言求班级平均分案例讲解
  13. 定位input的光标,设置光标的位置
  14. 【构造+拓扑序】【JZOJ5405】Permutation
  15. Oauth与Shiro整合的开源项目
  16. BPS 307i SM 100劳易测条码定位系统
  17. 微信引流的方式 PC控制手机的方式
  18. 【新业务搭建】竞争情报业务规划及体系构建的思考——By Team
  19. 厦门吾智美:ESS.OIL.CO潜力无限
  20. 帧率、码流与分辨率相关知识

热门文章

  1. 计算机键盘为啥要这样分布,你知道电脑键盘为什么这么排列吗?
  2. 从玉农业谋定塞外-丰收节交易会·林裕豪:巴彦淖尔深圳签约
  3. 【DB2】NVL2函数
  4. Docker-数据管理
  5. 去除行块级标签之间的默认间距
  6. .NET Framework 各版本区别
  7. 常用的meta标签总结
  8. VS2015安装简单的C#单元测试
  9. SQLite在C#的使用
  10. Entity Framework 学习中级篇3—存储过程(中)