- ?
Elastic秒杀数据搜索与实时分析,开源技术开启大数据应用新时代
Quinn
展开
不管是百度,还是谷歌,甚至微软的Bing,对搜索引擎,大家都已经了然于心。这些引擎成为互联网生活中必不可少的工具,同时也占据了大部分互联网市场。
但是在今年10月,一家名叫Elastic的公司却因为搜索引擎技术和产品Elasticsearch正式登录纽交所,收盘股价 70美元,相较于发行价36美元涨幅高达 94.44%,市值接近50亿美元。
在美股市场整体表现黯淡环境下,开源软件公司Elastic 上市后市值几近翻倍的超预期表现,令人惊奇。能用开源技术,再造一个搜索引擎的独角兽或者科技巨大,Elastic靠的是什么?
Elastic副总裁Joen Van Driel在其“中国开发者大会2018”上表示,Elastic靠的是数据搜索和实时分析技术,在搜索数据的同时实时分析数据,给用户更多更精准的结果。同时依靠开源技术和商业模式,开拓了出大数据应用新格局。
Elastic副总裁Joen Van Driel
——//////////——
数据搜索与实时分析,开拓大数据应用新场景
一
搜索不仅仅是一个网站上的一个搜索框,搜索的结果也不仅仅是网页内容的简单呈现,企业用户需要数字搜索和实时分析。
细观搜索领域的竞争格局,包括Amazon 、Alphabet GOOGLE、Splunk 、百度等公司提供相关的企业服务,但Elastic着眼于赋能企业内部海量数据的实时搜索。
数字经济时代,企业拥有了更多的数据,并且每天都在新增数据,包括结构化的和非结构化的数据,以及来自许多不同数据源的数据,如数据库、网站、应用程序以及移动和连接设备等。
Elasticsearch希望搜索能为用户提供一种与其数据进行交互的新特征,包括:
一是速度,实时获得结果的能力;二是规模,以毫秒级的性能查询千兆字节数据的能力;三是相关性,获得准确和可操作的信息、见解和解决问题的能力。Joen Van Driel说,用一句话来总结就是:Elasticsearch 是一个实时分布式搜索和分析引擎,可以应用在任何实时检索的场景中。
Elastic中国区总经理王刚向记者举例说明了数字搜索与实时分析的应用。当用户需要打车、送餐或者送货到家服务、上网购物时,数据搜索能够匹配乘客与司机、送货的骑手与顾客,为在线购物者提供相关的结果和建议另一方面,在传统的IT、运营和安全部门中,使用Elastic来聚合定价、报价和商业数据,每天处理数十亿日志事件,以监控网站性能和网络中断,并为数千个设备和关键数据提供网络安全操作,这些搜索和分析都是实时完成的。
Elastic中国区总经理王刚
既有自管理产品,也提供SaaS模式
二
客户可以使用Elastic基于云的版本,也可以自行设置和管理软件,Elastic既提供开源的产品,也提供商业插件和服务。
作为一家搜索公司,Elastic提供开源的Elastic Stack,包括Elasticsearch、Kibana、Beats、Logstash,同时提供商业功能的X-Pack,以及SaaS产品Elastic Cloud,包括托管Elasticsearch、托管应用程序搜索、托管网站搜索。除了高性能、实时、分布式搜索引Elasticsearch之外,Elastic提出了Elastic Stack的产品和服务战略体系,夯实其在该领域的霸主地位。
深圳开发者大会上多次出现这张产品全景图:
Elastic产品
Elasticsearch是Elastic Stack的核心。它是一个分布式、实时搜索分析引擎和数据存储工具,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化信息。
Kibana是Elastic Stack 的用户界面,是存储在Elasticsearch中的数据的可视化层,也是 Elastic Stack所有部分的管理和配置接口。
Beats是轻量级、单用途数据托运,用于将数据从边缘机器发送到Elasticsearch或 Logstash。
Logstash则是动态数据处理管道,可将数据从多个数据源同时导入Elasticsearch或其他存储系统。
Joen Van Driel说,Elastic也不断通过收购丰富产品线,如收购初创企业Insight.io ,为Elasti不断扩展的技术堆栈添加独立的代码搜索功能,还与Elastic其他用例和解决方案高度互补。
Elastic 收购网站搜索SaaS服务提供商Swiftype, Swiftype 创造了大受欢迎的基于 SaaS的网站搜索产品,最近还推出了企业搜索产品。通过与Swiftype合作,Elastic能够满足客户简单的网站或应用搜索需求。在未来,客户还可以利用高度定制和精细的SaaS或私有部署体验,应对更加复杂的企业搜索场景。
选择开源,坚持开源
三
开源是企业发展的动力与源泉,同时依靠订阅收入与商业产品、服务获得收入。这是这家开源技术公司独到之处。
云集的开发者
Elastic于今年10月成功上市是开源项目商业化成功的又一标志。最早Elasticsearch从大公司无法着力的垂直领域小工具开始做起,尝试以开源的方式创建易于使用的非结构化数据搜索引擎。而后,随着公司的发展,不断扩充产品线和应用场景,将核心产品以源代码开源方式给到客户,在开发者社区建立起技术公信力,同时推出商业版本解决方案。
Joen Van Driel说,Elastic选择开源技术,未来也会坚持开源。
首先,基于开源技术,Elastic迅速拉进了与用户的距离,由用户验证产品,由用户反馈最新需求;
其次,超过10万开发者的社区、超过3.5亿的产品下载和5000多家客户,为Elastic贡献了代码和大量的应用场景;
第三,基于开源的特性,Elastic形成一种自下而上的销售策略,潜在客户即为经常使用Elastic的技术人员,通过一系列销售和营销手段逐步渗透,为核心客户群提供更有效的企业级服务支撑,稳固其商业模式。
开源并不意味着公司没钱赚。2018 财年公司总营收1.599亿美元,同比增长81%。主营业务收入包括总订阅收入(许可证收入License + 订阅收入 Subscription)与服务支持收入(Professional Service)两大板块构成,其中总订阅收入占2018财年营收的93%,服务于80多个国家5500余家企业;专业服务收入同比增幅25%主要来自于咨询服务的增加,导致产品被越来越多的采用。
另外收入来源还包括商业插件提供,以及培训业务的发展,包括在线培训和企业上门培训等。
巨头企业既是用户,也是合作伙伴
四
在开发者大会上,Elastic展示了两个榜单,一个是用户,大牌公司云集,创新公司和传统行业企业并存;另一个是合作伙伴,依然是群星云集。
王刚说,对用户而言,Elasticsearch的目标是让全文搜索变得简单,开发者可以通过它简单明了的RESTFul API轻松地实现搜索功能,能够轻松地进行大规模的横向扩展,以支撑PB级的结构化和非结构化海量数据的处理。
当然许多国际知名的巨头公司都在使用 Elasticsearch,包括 Cisco、eBay、Microsoft、高盛、美国国家宇航局等,下载量超过1 亿次。Google 通过 Google 云平台提供一个完全托管的版本,它可以让公司企业搜索庞大的非结构化信息数据库,通过使用机器学习,自动识别异常情况,执行根本原因分析,并减少实时应用误报。
Elastic希望与合作伙伴建立长久和卓有成效的合作伙伴关系。它与谷歌和阿里巴巴建立了合作伙伴关系,这些合作伙伴关系已经在他们的云上启用了Elasticsearch服务,以及与微软和IBM的关系,这些关系带来了“模板”以简化Elasticsearch的部署。
中国团队和合作伙伴已经Ready,服务中国快速增长大数据应用市场
五
Joen Van Driel说,Elastic看好中国大数据产业的发展,看好中国的巨大发展机遇。
随着移动互联网时代的推移、人工智能的革命性进展及其在行业应用落地需求的激增,海量结构化与非结构化数据进一步刺激数据爆炸,海量数据搜索、聚合、分析成为企业普遍面对的问题。对未来的企业而言,数据是所有业务的生命源泉,搜索可以成为企业从数据中获取价值的一种最简单的方式。
而中国是全球数据经济成长最快的国家,每年新增巨量的数据。发现数据以及数据的背后价值,是企业和组织的一项迫切需求。
中国政府鼓励发展云计算和大数据技术与产业,创新性企业如雨后春笋般涌现。
另外,在人工智能技术和应用方面,中国走在了世界前列。而人工智能的发展需要大量数据的积累、处理和发现,这也为Elastic的数据搜索和实时分析技术的发展提供机会。
因此,Elastic在中国将加大人力、资源的投资,加快中国市场的培养和发展。中国区已经成立,人员规模会不断扩大,合作伙伴数量不断增加。
中国团队已经准备好了,合作伙伴也已经准备好了!
- ?
不懂代码,如何做出实时刷新的数据大屏?
贺若风
展开
首先恭喜你,当你看到这篇文章的时候,不管你是小白还是大咖,你都将直接获得一个高级技能:轻松上手可实时刷新的酷炫大屏。
制作可视化大屏,一般有这么几种方案:
写代码调用数据和图表,比如写JS+Echarts ;直接的数据可视化工具
前者对于大部分人来说门槛较高,而且尤其是大屏需求比较多,比方说要做10个的情况下,亲身试验写代码容易崩溃。如果涉及大量的动态可视化,涉及大数据量,没有底层技术,性能就会大打折扣。而且投到不同尺寸的屏幕,调试起来非常麻烦。
那么有没有一种简单的可视化大屏方案,可以快速的设计样式呈现效果、自适应不同大小的屏幕、而且还可以实时刷新数据?
有,选择后者,直接用数据可视化工具。
市面上能做到直接呈现在LED屏幕的大屏可视化工具并不多,多数需要代码调试,报表工具FineReport和FineBI工具可直接实现,相对来讲FineBI使用更简单,本文也是基于FineBI,来教大家做可实时刷新的数据大屏。
先来看看我们今天即将要教大家做的大屏效果(请接受一波酷炫可视化的冲击!)
不懂代码,如何做出实时刷新的数据大屏?
1、快速上手学习BI工具
FineBI是一个可视化的自助式BI工具,整个操作就是导数据/连数据库——处理数据(可视化ETL)选择图表——拖数据字段——可视化展现&美化,操作简单上手快。多数情况下,这个工具都是拿来做可视化报表,对接企业大数据平台,做企业数据运营分析用。
关于他的入门教程,小编之前曾发过一个视频《30分钟,教你零基础用BI搭建可视化大屏!》
2、构建数据模型
掌握了finebi的基础功能:怎么连接数据,怎么趋势,怎么做图表。接下来就到了正式做大屏步骤,先是构建数据模型。
大屏也是有主题的,本质是对一类业务的分析,然后综合展示,比如销售大屏。像这类业务分析一般要用到多张维度表和事实明细表的数据(例如下图中的分公司维度表和合同事实表)。常规操作是将不同业务系统的sql表拼接、宽表拼接,构成一个星型数据模型,需要你有专业的数据仓库技能。那这里化繁为简,可以直接用工具自带的敏捷数据模型去替代上述的工作,原理是自动构建雪花型模型,跨数据源关联。
搭建好上图的销售demo业务包的数据表和关联模型之后,下一步就可以进行正式的销售管理驾驶舱大屏搭建。
3、大屏布局设计
在给大家介绍具体制作过程之前先讲解一下通常管理驾驶舱的布局方式。管理驾驶舱往往展现的是一个企业全局的业务,一般分为主要指标和次要指标两个层次,主要指标反映核心业务,次要指标用于进一步阐述分析。所以在制作时给予不一样的侧重,这里推荐几种常见的版式。
上面几个版式不是金科定律,只是通常推荐的主次分布版式,能让信息一目了然。实际项目中,不一定使用主次分布,也可以使用平均分布,或者可以二者结合进行适当调整。比如下图所示,指标很多很多,存在多个层级的,就根据上面所说的基本原则进行一些微调,效果会很好。
4、实际分析制作过程
有了以上的布局设计,每一个模块就单独用一类图表分析一块内容,比如销售分布、签单分布、回款金额分析......整体呈现一个主题(在这里是销售业务)的分析。
那具体如何用工具操作呢?
首先,既然是销售管理驾驶舱,那么我们可以先从领导和高层最为关注的公司签单金额和回款金额入手。对于这样的汇总指标,选择仪表板进行数据展示再合适不过了。选择拖入合同事实表中的合同金额和合同回款表中的回款金额两个指标,样式这里选择圆环仪表盘,同时两个指标的单位都设置成亿,最大刻度输入当前合同金额,2.78亿。这样一来,2.78亿的合同回款,2.25亿的回款金额以及80.87%的总的回款率也就统计出来了,企业的签单金额和回款金额/回款率都一目了然。
其他部分也是一样的原理,篇幅原因不多介绍,核心是要知道展现哪些数据指标。
5、实时刷新功能
如何做出实时刷新的数据大屏,本篇还有一个重点内容就是大屏的实时刷新功能,也是大家问得比较多的。
所谓实时刷新,即你展示出来的酷炫大屏上面的数据将是动态刷新,能够实时反映数据库中的数据。我们的大屏通常连接着数据库,我们打开报表的时候,会读取数据库中的数据,但数据库中的数据可能是动态变化的,如果要读取变化的数据的话,不需要我们重新打开刷新报表,报表中的数据将动态自动刷新。
FineBI实时刷新的底层技术和性能:
实时刷新的实现所依靠的一个重要支撑,是FineBI自带的FineDirect直连引擎。FineDirect直连引擎给出了数据端到应用端的完整解决方案,支持连接企业已有的大数据计算平台,如Hadoop、Kylin、Greenplum、Vertica等,在充分利用平台计算性能的同时,也解决了TB至PB级超大数据量多维分析的难题。
FineDirect是FineBI推出的大数据直连引擎功能模块,用于更好地处理超大数据量的分析要求和数据源实时性的需求。通过FineDirect直连引擎可以直接对接现有的数据源,无论是传统的关系型数据库(Oracle,Sqlserver),还是日益成熟的Hadoop生态圈,Mpp架构的解决方案,都可以直接进行自助取数分析,实现更敏捷的、更及时的决策分析。
FineDirect引擎核心特点
①PB级别数据量多维分析
FineDirect直连引擎给出了数据端到应用端的完整解决方案,支持连接企业已有的大数据计算平台,如Hadoop、Kylin、Greenplum、Vertica等,在充分利用平台计算性能的同时,也解决了TB至PB级超大数据量多维分析的难题。
②实时大数据分析
FineDirect能够连接实时数据进行分析,及时返回分析结果。基于FineDirect的可视化引擎,可以将用户拖拽分析的操作,实时地转化为经过处理的查询语言,实现对企业数据库实时分析的效果。
③双引擎模式灵活搭配
FineBI已有FineIndex引擎(原cube)和新的FineDirect直连引擎可以搭配使用,来满足不同的应用场景。企业可以根据实际需求的不同准备两种类型的数据,通过FineIndex模式配置那些不经常更新、实时性要求不高的数据;通过FineDirect直连引擎配置大数据量且有实时分析需求的数据,双管齐下。
- ?
即时大数据分析公司受到资本青睐
鲍白翠
展开
日前,位于纽约的人工智能领域创业企业奇丽(cherre)公司宣布从天使投资组织那里获得了900万美元的种子资金,用于其拓展北美市场。
该公司是一家房地产行业数据智能分析平台公司,能够帮助客户提高其购买房地产的成功率,它能够即时采集来自公共部门、个人部门等的房地产信息数据,并对其进行分析,帮助保险公司、银行、投资人或其他潜在客户,决定是否对看中的房地产项目进行投资。
通过该平台,客户能够准确地了解某个房地产项目的历史背景、过往交易记录、周边人口资源、价格、未来影响因素等信息,以帮助客户优化自己的决策,提高投资成功率。
本轮投资由纳维塔斯投资公司(navitas capital)领投,另外四家创业投资公司跟投。位于加州纳维塔斯投资公司成立于2011年,专注于投资包括智能建筑设计在内房地产科技企业。在天使轮,沃顿天使投资组织、哈佛天使投资组织和纽约天使投资组织等六个区域性天使投资组织支持了奇丽公司的早期发展。
纳维塔斯投资公司管理合伙人吉姆·佩蒂特(Jim Pettit)高兴地说:“奇丽房地产人工智能平台推出刚刚一年,但它已经革命性地改变了这个行业大数据分析、处理的方式,为金融机构、保险公司、房地产经纪公司和其他需要跟房地产领域合作的大型企业提供了前所未有的解决方案。我们愿意跟所有的投资机构一起,支持这家创业企业进一步提高其服务效率,拓展市场空间,给所有与房地产相关的企业带来更多福音”。
这家新成立的公司于2017年12月才推出他们的服务平台,但是,他们迅速被业内大客户所接受,纽约房地产管理委员会、全球最大的房地产经销商凯勒·威廉斯(Keller Williams)公司、斯特莱特系统公司(Stratus Data Systems,为房地产行业提供信息服务的企业)、铂金不地产经纪公司(Platinum Properties)、奥格斯特公司(August Partners,为房地产企业提供战略咨询和策划的企业)等使用了该公司的平台。
奇丽公司联合创始人、首席执行官萨尔曼森(L.D. Salmanson)说,公司将利用这笔资金满足客户激增的需求,并拓展美国其他城市和加拿大市场。
奇丽公司联合创始人、首席执行官萨尔曼森(L.D. Salmanson)
“世界上许多大行业都开始重视即时大数据的力量,重新评估即时大数据对于提高行业核心竞争力的作用。”萨尔曼森说,“我们看到金融机构、保险公司、房地产投资公司等利用即时大数据后对他们的业绩的极大改善,以及我们核心服务在其它领域的应用潜力,这使我们倍受鼓舞。现在,新的投资人进来了,我们会快速提升我们的服务质量,把即时大数据应用,提高到新的水平”。
纽约房地产管理委员会(Real Estate Board of New York,REBNY)是纽约房地产行业的商会组织,成立于1896年,目前,该委员会的17000名成员单位管理的建筑物达到110万栋,其中有住宅350万套。2017年10月,在该委员会组织的一次技术竞赛中,奇丽公司脱颖而出;2018年4月,该委员会采用奇丽公司的即时数据分析系统服务自己的会员单位。
萨尔曼森2000年~2004在以色列国防军服兵役4年,2013年获得沃顿商学院MBA,此后在投资机构工作。沃顿校友天使投资组织(The Wharton Alumni Angel Network,WAAN)是支持宾夕法尼亚大学和沃顿商学院校友创业的天使投资组织。正是由于在投资行业从业的经历,他跟投资界保持密切的联系,2016年,他创立奇丽公司时,就获得了WAAN、纽约天使投资组织等六家天使投资组织的共同支持。
奇丽公司还获得过包括“2017亚裔金融行业年度金融技术奖”等荣誉称号。到2020年,房地产领域大数据应用的市场规模超过万亿美元。
- ?
大数据之数据可视化
Tiffany
展开
人们预期数据可视化过程会继续发展,也许更多的是艺术和科学的混合,而不是数字计算技术。
显示结果
数据可视化是指以图形或图表格式通过人工或以其他方式组织和显示数据,以使受众能够:
更清楚地查看分析结果简化正在使用的数据中的复杂性了解并掌握正在使用的数据制作方法
可视化并不是一个新的概念
这种使用图片(排版、色彩、对比度和形状)来传达或理解数据的概念并不是新鲜事物,从17世纪的手工描绘地图和图形到十九世纪初发明的饼图都是这种形式。
如今,计算机可以用来快速处理大量的数据,使可视化更具价值。展望未来,人们可以预期数据可视化过程将会继续发展,也许更多的是一种艺术和科学的混合,而不是数字计算技术。
即时满足
数据可视化演进过程的一个令人兴奋的例子是,业界如何将数据可视化过程转移到生成和发布图表和图形的过程中,供观众进行审查和仔细考虑,从而设定了交互式可视化的期望。
通过交互式的可视化,人们可以更多地使用数据可视化的概念,进一步利用技术让观众与数据交互,为用户提供自助服务能力,以实时(或接近实时)交互式地深入到生成的图片、图表、图形(访问更多或特定的细节)来改变显示的数据(可能是不同的时间框架或事件)以及如何处理和/或呈现(可能选择条形图而不是饼图)。这使可视化更加有效和个性化。
人们可以通过使用数据驱动文档(D3)的典型网络浏览器在各种示例中介绍显示大数据分析结果的主题。D3允许将预先构建的数据可视化应用于数据集。
数据驱动的文件
数据驱动的文档在开放社区中被称为D3。D3是一个采用JavaScript编写的开源库。其目标是允许使用标准网页浏览技术(如HTML或CSS)轻松地处理基于数据的文档。它的附加值是为用户提供全面的功能,而无需自己构建或绑定到某个专用的框架中。
这些库组件为用户提供了优秀的大数据可视化工具和DOM操作的数据驱动方法。 D3的功能风格允许用户重新使用已经构建的库代码模块(或者其他已经构建的代码模块))来添加用户需要或想要(或不想要)的任何特定功能。这就创建了一种可以变得像用户想要的那样强大(或者有时间去做)的手段,为其数据可视化提供一个独特的风格,操纵并使之互动,这正是用户想要或需要的。
仪表板
正如前面所讨论的,事实上人们每天都在收集和积累大量数据,而组织出于各种原因依赖这些信息。
这些数据使用各种报告格式,包括数据仪表板。就像所有的事情一样,人们对于数据仪表板的定义有各种各样的担心。
例如,A.Chiang写道:“仪表板是实现一个或多个目标所需的最重要信息的直观展示。在一个屏幕上合并和排列,以便一目了然地监视信息。”
无论其定义如何,如果设计和建造得当的话,任何仪表板都有能力为受众提供及时而重要的信息,供决策者使用。
仪表盘以相关的、简明的、深思熟虑的方式(不仅仅是工作簿或电子表格中的可视表示的集合)呈现数据是至关重要的。而仪表盘上的数据显示过时和错误,那么由此做出决定可能会导致灾难。
通过仪表板可以演示解决方案的工作示例,而这样的示例基于使用Tableau的实时仪表盘格式,基于大数据分析有效呈现出结果。
Tableau是一种商业智能软件,旨在帮助人们查看和理解数据。Tableau不仅仅是一个代码库,也被认为是一组或一系列交互式数据可视化产品。
Tableau的结构可以使人们能够将来自多个来源的多个数据视图组合到一个高效的仪表板中,从而为数据消费者提供更丰富的见解。Tableau还可以处理各种格式(包括结构化和非结构化)的数据,并且可以处理大数据量(可能是TB字节或PB字节,或数百万或数十亿行代码),从而将大数据转化为针对目标受众的有价值的可视化结果。
为了解决当今大数据世界的速度问题,人们可以使用Tableau直接连接到本地数据中心和云端的数据源,或者将数据导入快速内存性能。
Tableau的另一个目标是自助服务分析,用户可以通过对话选择数据来提问(实时模式而不是批处理模式)使用简单的点击分析直观地挖掘大数据,并有效地发现数据集或数据集中可能存在的理解和机会。
Tableau提供的一些令人兴奋的功能包括:
实时拖放聚类分析交叉数据源加入强大的数据连接器移动启用实时的地区或区域数据探索
异常值
异常点是一个与数据中其他观测数据点相距甚远或极大不同的观测点。尽管异常值通常只表示大约1%到5%的数据,但当企业处理大数据时,调查甚至只是查看数据的1%到5%是相当困难的。
调查和决定
人们可以看到,异常值可以被确定为非影响力的或者对数据可视化所要处理的点非常有影响力。
做出这一决定的行为或过程对于企业的分析非常重要,但处理大数据的大容量、多样性和速度也是非常困难的。例如,帮助做出这个决定的一个基本步骤是测定样品的大小,这是一个计算异常值与数据样本大小的主要数学过程,当数据量十分庞大时,这不是一个简单的任务。
人们可以使用Python高效地识别和处理大数据异常值(以及其他一些数据集异常)。Python是一种脚本语言,它非常容易学习,因为它的编码语法非常类似于英语。
Python是2016年9种最受欢迎??的编程语言之一,由Bouwkamp公司提供,Python被列在顶级的按需编程语言中。
Python诞生于1989年,由Guido van Rossum创建,实际上Python的使用非常简单,但业界也认为其功能非常强大,速度快,可以在任何环境中运行。
根据定义描述,“开放源代码Python是世界各地许多公司和机构的生产力,软件质量和可维护性成功公式的一部分。”
业界对利用Python语言进行数据分析和大数据分析的兴趣日益浓厚,而且它是数据科学家日常工作的选择,因为它提供了一个库,实际上是一个标准库(甚至有些专注于大数据,如Pydoop和SciPy)来完成几乎所有人需要或想要处理的数据,包括:
自动化建立网站和网页访问和操作数据计算统计创建可视化报告建立预测和解释模型评估额外数据的模型将模型整合到生产系统中
最后要说明的是,Python的标准库非常广泛,提供了一系列内置模块来提供对系统功能的访问,以及标准化的解决方案来解决日常编程中出现的许多问题,这是探索处理大数据离群值和相关处理的一个明显选择。
操作智能
操作智能(OI)是一种分析方法,试图通过(通常是机器生成的)操作或事件数据来提供可视性和洞察力,实时运行针对数据流馈送的查询,产生作为操作指令的分析结果,可以通过人工或自动操作(将数据集转化为价值的明确例子)让组织立即执行。
复杂的操作智能(OI)系统还提供了将元数据与数据中发现的某些度量、流程步骤、渠道等相关联的能力。有了这个能力,就很容易获得额外的相关信息,例如,机器生成的操作数据通常都具有唯一的标识符和结果或状态代码。这些代码或标识符对于处理和存储可能是有效的,但是并不总是易于理解。为了使这些数据更具可读性(因此更有价值),可以将更多用户友好的附加信息与数据结果相关联 – 可能是以状态或事件描述的形式,或者可能是产品名称或机器名称。
一旦了解将基本分析和可视化技术应用于操作大数据的挑战,数据的价值可以更好或更快地实现。人们将运用Splunk智能化操作来展示操作或大数据评估解决方案的工作示例。
那么,什么是Splunk?Splunk开始是一种“Google for Log”文件。它还有更多的功能…它存储所有的日志,并提供非常快速的搜索功能,大致就像Google为互联网做的一样…
Splunk软件是帮助实现隐藏的价值在机器生成的一个很好的工具,使用Splunk,企业可以在一个地方收集、索引、搜索、分析,以及可视化所有数据,从几乎任何地方提供一种整合方法,可以从大量机器数据中组织和提取实时信息。
Splunk将数据存储在文件中,为文件分配索引。 Splunk不需要在后台运行任何数据库软件来实现此目的。Splunk调用这些文件索引器。Splunk可以对任何类型的时间序列数据(具有时间戳的数据)进行索引,使其成为大数据操作智能(OI)解决方案的最佳选择。在数据索引期间,Splunk会根据其标识的时间戳将数据分解为事件。
尽管使用简单的搜索术语(例如机器ID),Splunk也提供了自己的搜索处理语言(SPL)。 Splunk SPL(将其视为SQL类型)是一种非常强大的工具,用于搜索大数据并对特定场景中的相关内容执行统计操作。
- ?
大数据风控:提识别能力,把金融命脉——西南证券风险实时预警大数据平台分析
罗切斯特
展开
2015年,我国政府密集推出了一系列大数据相关政策,统筹布局产业发展,以政府为表率,推动大数据战略,提升政府治理能力,推动经济转型发展,促进大数据与各产业融合发展。
经济的快速发展,对我国金融行业提出更高要求,而金融业作为大数据行业应用的典型场景,已经在许多领域取得成果。本期,我们以九次方大数据信息集团有限公司与西南证券股份有限公司联合开发的风险实时预警大数据平台为例,看大数据在保证金融安全方面如何落地。
背景需求
金融行业对安全度要求非常高,一直以来,包括证券业在内的各类金融机构都在不断加强风控的管理,但依旧面临不少问题,包括风控策略和风控信息来源复杂;信息监测难度大;只注重保荐数量,忽视保荐质量及对企业持续跟踪;各环节未法形成精准有效的工作机制;数据信息统计分析程度低;原有风控平台不能满足新技术发展等。
具体到证券行业,当前,我国证券业风险监控面临重大考验,保荐业务中,由于合规等风控信息不全面,导致项目出现问题,给证券公司带来的最直接的风险就是吊销保荐牌照;证券公司资管发生资管计划场内交易未按规定履行资金前端控制的问题;“黑天鹅事件”出现导致个股连续跌停也可能给券商带来连带风险;程序化交易相比传统人工分析具有效率高等优点,但由于程序化系统存在的缺陷,导致有些预期外交易情况发生给投资人带来损失。
另一方面,大数据产业的飞速发展,使大数据的一系列配套技术逐步完善,如云技术、数据挖掘技术、数据清洗技术、数据保密、加密技术等等。这些技术的日益成熟和完善,为大数据建设提供了良好的基础。
随着Hadoop、Spark、Elasticsearch和Apache Kylin等大数据挖掘技术在各行业的广泛应用,国内许多证券金融机构已经将这些技术应用到数据处理、风险防控等许多领域。但总体来说,我国的证券公司与国外同行在数据挖掘应用水平方面存在着巨大差距。
在美国,美林和高盛这样知名证券公司中计算机技术人员的数量就占员工总人数的1/4-1/3,其中大部分计算机人员从事数据挖掘和分析工作。反观我国,证券公司核心的交易系统架构还停留在5年前重视交易网络硬件建设的水平上,对本公司内部的数据缺乏整合,提供很少或者根本无法提供数据挖掘和分析服务,对国际市场的分析更是完全空白,基本上没有形成自身数据服务的品牌和核心竞争力。
进入二十一世纪以来,随着互联网信息和计算机技术的进一步发展,越来越多的政府和企业风险信息来自于互联网。网络已成为社会信息的计算机,也是社会风险的放大器。很多言论通过网络被放大、推进和炒作并形成风险。因此,对于证券行业来说,当务之急是必须在较短的时间内加强计算机数据挖掘理论和技术在互联网行业,尤其是证券领域的基础性、普及性和全面性建设,以适应证券行业风险监测市场的需要,填补行业应用空白。从全网数据挖掘实践中分析、提炼和验证相关的风险信息分析模型也成为了一项重要而紧迫的任务。
另一方面,随着国内证券行业政策的逐步开放,证券行业的竞争越来越激烈,券商分析决策时对数据的依赖性和敏感度也越来越高。利用大数据技术,通过对资金数据的分析,可以控制营业风险,同时可以改变企业原来的资金控制模式,并通过横向比较及时了解资金情况,起到风险预警作用。
长期以来,证券市场一直是国家经济的晴雨表,国家经济的细微波动都会在证券市场及时地反映出来。因而证券业的经营对数据的实时性、准确性和安全性的要求都很高。在国内证券行业领域政策日趋开放的大环境下,证券业的竞争也越来越激烈。这就要求相关人员在做分析决策时,不仅需要大量数据资料,更需要通过数据,发掘其运行规律、未来走势,同时借助数据挖掘技术提高自身的风险监控能力。
平台架构
证券业自身的需求,为风控问题的解决提供了强大的驱动力,大数据技术的发展和应用,更是为这一问题的解决带来了良好机遇。在这一形势下,利用大数据技术建设的金融风险实时预警平台应运而生。
互联网应用和计算机科学的发展极大地便利并提高了金融尤其是证券风险信息监测和预警水平,是数据挖掘技术在证券领域中的一种不可缺少的应用,平台使用数据挖掘的办法来描述数据间隐藏的规律,依据证券行业中积累并不断扩充着的大量数据,将证券交易所等证券业相关的信源里实时更新的海量风险信息和数据及时提取出来,采用分类、聚类、关联分析等方法,清洗和变换数据来发现新知识,合理有效地提升了公司控制证券投资风险的效率,及时为证券从业人员提供参考咨询服务、分析客户交易行为、掌握企业经营状况、控制证券交易风险,从而帮助从业人员在证券交易中增强决策的智能性和前瞻性,并在此基础上创造新的价值。
西南证券风险实时预警大数据平台,依靠九次方大数据先进的数据挖掘技术,及时、全面、有效地监控网络环境,成功排除人工检索信息的缺点,减轻相关部门负担和信息处理压力。
证券业风险信息监测和预警平台的建设范围包括三大方面,即数据建设,系统建设和平台建设。数据建设通过自建和聚集第三方数据建设网络舆情数据库、政策监管数据库和企业数据库,并实现数据打通和数据方关联;通过数据容量及系统要求实现系统软硬指标建设;综合考虑大数据的应用、服务和延展,从产生数据到使用实数流程考虑系统性能、安全及拓展等方面搭建平台。
从监测信源的专业性来看,根据证券行业特点,这一大数据平台在证券风险信息监测方面,涵盖包括全国中小企业股份转让系统、全国企业信用信息公示系统、上海证券交易所网站等数十个系统、机构、网站等数据,数据量非常大。
西南证券风险实时预警大数据平台总体架构从下到上分为四层:数据整合、资源管理、数据分析以及数据展示。每个层次之间相对独立,模块之间以松耦合的形式连接起来。
在数据整合层中,可以对原始关系型数据库,以及普通日志文件数据进行抽取,然后将数据存储到大数据管理平台中。还有,对取得的数据按照任务的配置参数进行相应的预处理等操作,为后续挖掘分析做好基础。
通过对多各类数据库的良好兼容和对NoSQL的支持,利用MapReduce编程模型处理,实现对各项数据结构变化的适应性,如:
支持各种数据类型,包括结构化数据、半结构化数据和非结构化数据;
支持各种数据来源,包括关系型数据库、文件系统或者是NoSQL数据库等;
利用水平扩展技术实现大数据分析工具的性能扩展,以满足更大规模的数据分析要求;
可以容易地与其它技术相结合等。
在资源管理层中,对各种需要用到的分布式开源框架进行整合和封装,例如Hadoop、storm、spark等框架。这些框架部署在若干个节点上,对这些框架进行封装以提供给上层分布式存储和分布式计算的能力。在资源管理层中,同时也提供集群的监控信息,以便用户能观察到集群中各节点的CPU、内存、网络等利用情况,以及各个节点和任务的运行健康状况,便于集群的维护。
图:平台总体架构图
在数据分析层中,封装各种数据挖掘算法,如聚类、协同过滤推荐、关联规则等。这些算法都能够处理大规模的数据,具有很好的可扩展性,能够运行在多个计算节点上,它们都是基于MapReduce或者Spark的基础之上实现的并行化算法。数据分析层也是整个平台的核心,用户可针对特定的需要对不同的数据集连接不同的算法。算法运行结束后,将结果存储到HDFS中,或者关系型数据库中,以便上层的结果可视化。
在数据展示层中,将数据分析后的结果通过图表和报表的形式用户展示,或者直接将结果数据以接口的方式对外提供。在数据分析层和数据展示层之间,通过RESTAPI的方式进行交互,以达到模块之间以松耦合的方式进行连接。在消费层中,用户可以根据平台分析后的结果进行相应的业务分析,如推荐系统引擎、关联规则分析以及BI应用等。通过结果的可视化展示,业务分析师能够挖掘数据潜在的价值。
安全性方面,在等级保护中,平台技术体系主要分为物理安全、网络安全、主机安全、应用安全、数据安全五个领域。这些领域的要求主要针对单一的信息系统,根据风控多业务系统、多平台融合的特点,在技术体系设计中,突出各系统和平台公共的安全要求,集中进行规划设计,整合为基础保障系统,包含:信任体系、预警防护体系、容灾备份体系。
效果评测
依托于九次方大数据成熟的数据挖掘技术,西南证券风险实时预警大数据平台满足了西南证券在风控方面的需求,并实现了以下目标:
(一)运用先进成熟的爬虫抓取技术,对工商局等政府部门、新兴通讯和媒体(新闻、论坛、博客、微博、平面媒体等)监测,实现互联网定点采集与离线实时分析、判断、表达;
(二)完成对网络媒体中反映出的热点、焦点信息进行自动分类与聚类,并通过直观、可视化的界面对互联网风险信息的表达;
(三)监控互联网敏感信息,形成预警,从而有效管理互联网信息,并且提供管理手段;
(四)根据形成的有效信息,结合企业内部进行价值判断并加以应用;
(五)通过收集、清洗、整理和分析出的舆情数据,为金融机构提供风险预警服务,以可视化的方式实时呈现金融市场的风险情况;
(六)定点监测目标企业或者项目,对存在风险的企业进行7*24小时多维度全方面的舆情追踪,帮助提高金融机构的风险预警能力。
此外,风险实时预警大数据平台搜集的相关数据,经过分析挖掘后可以服务于不同的对象,如向投行部门提供更加有效的投前投中投后服务;促进资管部门投资业务更加;利用大数据更好地开展保荐业务以及管理效能,促进投行服务更加便利化、增加证券机构收益或减少运行成本;评估企业及职能部门提供经营能力和市场情况等。
目前,西南证券风险实时预警大数据平台内的数据,抓取企业范围涵盖沪深A股,新三板公司和证监会正在进行IPO审核的公司。风险信源涵盖沪深交易所、新三板、一行三会、海关、工商、住建部、质检局、食药监和消防等,选取的风险信息关键字均与证券公司投行部业务息息相关。实现了对证券业风控信息实时抓取,并按照不同的类别对信息进行分类呈现,实现对数据脱敏、分析,形成直观的分析报告,并实现信息导出功能。
通过以上对西南证券风险实时预警大数据平台的介绍,我们看到大数据技术在证券风控预警中正在发挥着新的作用。数据挖掘技术的发展,不仅保证了金融行业的安全,而且随着数据量的增加,数据维度的增多,未来,通过数据打通,可以实现金融行业全流程的大数据风控,更精准筛选出不良用户,保证金融产业安全健康发展。
- ?
什么叫大数据分析
代双
展开
大数据行业发展如火如荼,国家政策利好,互联网大佬纷纷在大数据行业布局,我们想让自己的职业生涯在一个朝阳行业发展,肯定又要学习相关技术,让自己与时俱进,但是难就难在大数据是一个新兴事物,目前我国大学的专业里面还鲜少有这个专业,国家刚批的大数据专业,全国目前35个高校,但是从17年开始招生,2021年才有第一批毕业生进入职场,在四年期间,是大数据行业发展的飞速时期,没有行业发展是等着人才进入的,而是需要要虚位以待、蓄势待发,所以在没有高等教育准备好的大数据教育,如何高效的学习大数据,如何快速的与行业发展想契合,那么需要我们成为第一个吃螃蟹的人,作为一个随着大数据行业成长的职业人,首先要知道大数据是个啥?
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
那来帮大家分析下:如何高效的学习大数据。
经常有初学者会问,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高……首先,如果你确定了想往这个方面发展,先考虑自己的过去从业经历、专业、兴趣是什么。计算机专业——操作系统、硬件、网络、服务器?软件专业——软件开发、编程、写代码?还是数学、统计学专业——对数据和数字特别感兴趣?
那么你能找师傅带吗?
但凡有这种想法的人,或多或少都会存有侥幸之心,或者叫做“天真,单纯”。希望不花一分钱,就能更快速的学到更优质,更实用的技能。
关于这一点,我只想反问一句你:“如果你是大师,你凭什么愿意带我?”
其实这就是想告诉你大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/设计/架构、数据分析/挖掘。
先说一下大数据的4V特征:
数据量大,TB->PB
数据类型繁多,结构化、非结构化文本、日志、视频、图片、地理位置等;
商业价值高,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来;
处理时效性高,海量数据的处理需求不再局限在离线计算当中。
现如今,正式为了应对大数据的这几个特点,开源的大数据框架越来越多,越来越强,先列举一些常见的:
文件存储:Hadoop HDFS、Tachyon、KFS
离线计算:Hadoop MapReduce、Spark
流式、实时计算:Storm、Spark Streaming、S4、Heron
K-V、NOSQL数据库:HBase、Redis、MongoDB
资源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ
查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式协调服务:Zookeeper
集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager
数据挖掘、机器学习:Mahout、Spark MLLib
数据同步:Sqoop
任务调度:Oozie
······
第一步:初识Hadoop
1.1 学会百度与Google
不论遇到什么问题,先试试搜索并自己解决。
Google首选,翻不过去的,就用百度吧。
1.2 参考资料首选官方文档
特别是对于入门来说,官方文档永远是首选文档。
相信搞这块的大多是文化人,英文凑合就行,实在看不下去的,请参考第一步。
1.3 先让Hadoop跑起来
Hadoop可以算是大数据存储和计算的开山鼻祖,现在大多开源的大数据框架都依赖Hadoop或者与它能很好的兼容。
关于Hadoop,你至少需要搞清楚以下是什么:
· Hadoop 1.0、Hadoop 2.0
· MapReduce、HDFS
· NameNode、DataNode
· JobTracker、TaskTracker
· Yarn、ResourceManager、NodeManager
自己搭建Hadoop,请使用第一步和第二步,能让它跑起来就行。
建议先使用安装包命令行安装,不要使用管理工具安装。
另外:Hadoop1.0知道它就行了,现在都用Hadoop 2.0.
1.4 尝试使用Hadoop
· HDFS目录操作命令;
· 上传、下载文件命令;
· 提交运行MapReduce示例程序;
· 打开Hadoop WEB界面,查看Job运行状态,查看Job运行日志。
· 知道Hadoop的系统日志在哪里。
1.5了解它们的原理
MapReduce:如何分而治之;
HDFS:数据到底在哪里,什么是副本;
Yarn到底是什么,它能干什么;
NameNode到底在干些什么;
ResourceManager到底在干些什么;
1.6 自己写一个MapReduce程序
仿照WordCount例子,自己写一个(照抄也行)WordCount程序,
打包并提交到Hadoop运行。
不会Java的话,Shell、Python都可以,有个东西叫Hadoop Streaming。
如果能认真完成了以上几步,恭喜你,你的一只脚已经进来了。
第二步:更高效的WordCount
2.1 学点SQL吧
如果不懂数据库的童鞋先学习使用SQL句。
2.2 SQL版WordCount
在1.6中,你写(或者抄)的WordCount一共有几行代码?
如果用SQL的话:
SELECT word,COUNT(1) FROM wordcount GROUP BY word;
这便是SQL的魅力,编程需要几十行,甚至上百行代码,SQL一句就搞定;使用SQL处理分析Hadoop上的数据,方便、高效、易上手、更是趋势。不论是离线计算还是实时计算,越来越多的大数据处理框架都在积极提供SQL接口。
2.3 安装配置Hive
Hive算是数据仓库工具,安装不难,网上有很多教程,配置完成后,可以正常进入Hive命令行。
2.4 试试使用Hive
尝试在Hive中创建wordcount表,并运行2.2中的SQL语句。在Hadoop WEB界面中找到刚才运行的SQL任务。看SQL查询结果是否和1.4中MapReduce中的结果一致。
明明写的是SQL,为什么Hadoop WEB界面中看到的是MapReduce任务?
2.5 学会Hive的基本命令
创建、删除表;加载数据到表;下载Hive表的数据;并学习更多关于Hive的语法和命令。
0和Hadoop2.0的区别
MapReduce的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);
HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;
自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;
会写简单的SELECT、WHERE、GROUP BY等SQL语句;
Hive SQL转换成MapReduce的大致流程;
Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;
从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQL On Hadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。
第三步:把别处的数据搞到Hadoop上
此处也可以叫做数据采集,把各个数据源的数据采集到Hadoop上。
3.1 HDFS PUT命令
put命令在实际环境中也比较常用,通常配合shell、python等脚本语言来使用。建议需熟练掌握。
3.2 HDFS API
HDFS提供了写数据的API,自己用编程语言将数据写入HDFS,put命令本身也是使用API。
实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。比如:Hive中的INSERT语句,Spark中的saveAsTextfile等。
可以尝试了解原理,试着写几个Demo。
3.3 Sqoop
Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库Oracle/MySQL/SQLServer等之间进行数据交换的开源框架。
就像Hive把SQL翻译成MapReduce一样,Sqoop把你指定的参数翻译成MapReduce,提交到Hadoop运行,完成Hadoop与其他数据库之间的数据交换。
自己下载和配置Sqoop(建议先使用Sqoop1,Sqoop2比较复杂)。
了解Sqoop常用的配置参数和方法。
使用Sqoop完成从MySQL同步数据到HDFS;
使用Sqoop完成从MySQL同步数据到Hive表;
PS:如果后续选型确定使用Sqoop作为数据交换工具,那么建议熟练掌握,否则,了解和会用Demo即可。
3.4 Flume
Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。因此,如果你的业务有这些数据源的数据,并且需要实时的采集,那么就应该考虑使用Flume。
下载和配置Flume。使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;
PS:Flume的配置和使用较为复杂,如果你没有足够的兴趣和耐心,可以先跳过Flume。
3.5 阿里开源的DataX
之所以介绍这个,是因为以前某公司客户目前使用的Hadoop与关系型数据库数据交换的工具,就是之前基于DataX开发的,个人感觉非常好用。现在DataX已经是3.0版本,支持很多数据源。你也可以在其之上做二次开发。
PS:有兴趣的可以研究和使用一下,对比一下它与Sqoop。
至此,你的“大数据平台”应该是这样的:
第四步:把Hadoop上的数据搞到别处去
前面介绍了如何把数据源的数据采集到Hadoop上,数据到Hadoop上之后,便可以使用Hive和MapReduce进行分析了。那么接下来的问题是,分析完的结果如何从Hadoop上同步到其他系统和应用中去呢?
其实此处的方法和第三步基本一致的。
4.1 HDFS GET命令
把HDFS上的文件GET到本地。需要熟练掌握。
4.2 HDFS API
原理同3.2。
4.3 Sqoop
原理同3.3。
使用Sqoop完成将HDFS上的文件同步到MySQL;
使用Sqoop完成将Hive表中的数据同步到MySQL;
4.4 DataX
原理同3.4
此时,“你的大数据平台”应该是这样的:
走完第三步和第四步的流程,那么你应该已经具备以下技能和知识点:
· 知道如何把已有的数据采集到HDFS上,包括离线采集和实时采集;
· 知道sqoop(或者还有DataX)是HDFS和其他数据源之间的数据交换工具;
· 知道flume可以用作实时的日志采集;
至此,对于大数据平台,应该已经掌握如何搭建Hadoop集群,把数据采集到Hadoop上,使用Hive和MapReduce来分析数据,把分析结果同步到其他数据源。
接下来的问题就是,Hive使用的越来越多,你会发现很多不愉快的地方,特别是速度慢,
大多情况下,明明我的数据量很小,它都要申请资源,启动MapReduce来执行。
第五步:快一点吧,我的SQL
其实大家都已经发现Hive后台使用MapReduce作为执行引擎,实在是有点慢。因此SQL On Hadoop的框架越来越多,按我的了解,最常用的按照流行度依次为SparkSQL、Impala和Presto.这三种框架基于半内存或者全内存,提供了SQL接口来快速查询分析Hadoop上的数据。
目前我们的方案使用的是SparkSQL,至于为什么用SparkSQL,原因大概如下:
· 使用Spark还做了其他事情,不想引入过多的框架;
· Impala对内存的需求太大,没有过多资源部署;
5.1 关于Spark和SparkSQL
什么是Spark,什么是SparkSQL。
Spark有的核心概念及名词解释。
SparkSQL和Spark是什么关系,SparkSQL和Hive是什么关系。
5.2 如何部署和运行SparkSQL
Spark有哪些部署模式?
如何在Yarn上运行SparkSQL?
使用SparkSQL查询Hive中的表。
PS:Spark不是一门短时间内就能掌握的技术,因此建议在了解了Spark之后,可以先从SparkSQL入手,循序渐进。
第六步:一夫多妻制
其实我想说的是数据的一次采集、多次消费。
在实际业务场景下,特别是对于一些监控日志,想即时的从日志中了解一些指标(关于实时计算,后面步节会有介绍),这时候,从HDFS上分析就太慢了,尽管是通过Flume采集的,但Flume也不能间隔很短就往HDFS上滚动文件,这样会导致小文件特别多。
为了满足数据的一次采集、多次消费的需求,这里要说的便是Kafka。
6.1 关于Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
6.2 如何部署和使用Kafka
使用单机部署Kafka,并成功运行自带的生产者和消费者例子。
使用Java程序自己编写并运行生产者和消费者程序。
Flume和Kafka的集成,使用Flume监控日志,并将日志数据实时发送至Kafka。
至此,“大数据平台”应该扩充成这样:
这时,使用Flume采集的数据,不是直接到HDFS上,而是先到Kafka,Kafka中的数据可以由多个消费者同时消费,其中一个消费者,就是将数据同步到HDFS。
总结:
为什么Spark比MapReduce快。
使用SparkSQL代替Hive,更快的运行SQL。
使用Kafka完成数据的一次收集,多次消费架构。
自己可以写程序完成Kafka的生产者和消费者。
前面的学习已经掌握了大数据平台中的数据采集、数据存储和计算、数据交换等大部分技能,而这其中的每一步,都需要一个任务(程序)来完成,各个任务...
- ?
Apache Kafka:大数据的实时处理时代
占南琴
展开
在过去几年,对于 Apache Kafka 的使用范畴已经远不仅是分布式的消息系统:我们可以将每一次用户点击,每一个数据库更改,每一条日志的生成,都转化成实时的结构化数据流,更早的存储和分析它们,并从中获得价值。同时,越来越多的企业应用也开始从批处理数据平台向实时的流数据数据平台转移。本演讲将介绍最近 Apache Kafka 添加的一些系统架构,包括 Kafka Connect 和 Kafka Streams,并且描述一些如何使用它们的实际应用体验。
流处理
在流处理刚被提出来的时候,很多人认为流处理只能进行做近似的结果或者增量的计算,倘若你想保证其安全性,以 Lamda 架构为基础,利用流处理得到最现在的结果。但同时你需要采用 batch processing 等其他方式来保证其全局的安全性以正确性。
在如此多年的研究结果下,在我看来,流处理并不一定是近似的,或者是仅仅以无法保证真确性为代价而提高速度的一种数据处理方式。相反,流处理应该是一个与全局计算、batch processing 稍微有点不同的计算模型。跟批量处理不同之处在于,批量处理将数据引向计算,而流处理将计算引向数据。这句话大概有点模糊,接下来,我举几个大家熟悉的计算模型例子。
第一个计算模型例子—请求应答模型。
请求应答模型是业务生活中最常用的模型例子。首先提交一个请求到服务方,而服务方可能是一个数据库、也可能是别的存储工具;然后进行等待…等待;最后得到一个回答。这便是一次请求、一次计算、一次回答。该模型非常简单、也极易操作,当你需要延展到多个机器上时,只要简单地增加客户端以及处理器即可成功。但是缺点在于,不能达到大的吞吐量,每提交一次请求,都需要等待时间来获得最终应答的结果。
第二种常见的模型就是批量处理如上图所示。如果请求应答模型在谱系的一端,那么 typo 的另一端则认为是批量处理。当我积累数据数量足够多的时候,一次性提交任务到数据仓库,再进行等待,等待时间短则几秒钟、几分钟,长则几小时,最后才得到最终的结果—所有输入对应的所有输出。该批处理模型的好处在于能够提高其吞吐率,一次的请求和应答可以得出较多结果。但它的缺点是具有高延时性,比如某数据产生时间为上午 6 点钟,用户点击某网页,由于批处理模型,每 12 小时才会运行一次,那么它必须等到上午 6 点到下午 6 点的所有数据完整以后才会进行工作,那么运行结果可能是用户点击的 12 个小时之后。高延迟性是批处理自身带有的特性。
那么什么是流处理呢? 在我看来,流处理就是介于请求应答和批处理之间的一种新型计算模型或者编程模型。流处理并不等待数据的完整性,或者说数据本没有完整性这一讲法,数据本身就是一个数据流,当每个数据流每产生一个新数据的时候立刻被计算出、进行返回,因此数据是源源不断地通向计算,并且源源不断有结果被输出。你可以设想,与等待数据完全完成之后发布到计算上相比,流处理就是将计算移到你数据发生地进行实时计算的方式。
为什么很多人之前有这样一种错觉,他们认为流处理可能存在有丢包的情况、或者说只可以得到近似的结果,其实这是早期的一些数据流处理系统所自带的一些限制。因此以 Lamda 架构为基础,在流处理上需要讨论不同维度的取舍。接下里我将举三个例子,延迟、、成本和正确性。正如很多人之前提及的,在进行流处理时候,其大多数情况需要用时间来换取正确性,或者用更多的成本换取时间等等。
第一个例子,说如果你需要做一个实时的 ETL 处理。而关于 ETL 处理不需要太小的延迟,为达到低成本的一种保证,我们可以忍受几分钟或者 1 分钟的延迟;但是,如果你正在进行一个实时的在线监测,存在着几毫秒的延迟,那么这时候可能更愿意选择花大量的金钱,或者采取一些可能不必要的 possibility 来达到一种低延迟的效果;第二个例子,假设你在做一个在线付费协议,它也是一个流处理平台。由于在线付费协议可能关乎到其机构,或者其公司的利益所在,因此你会说,我需要保证百分之百的正确性,我不希望有任何丢包情况;
第三个例子,如果你是做一个实时的日志处理,实时收集所有日志,并将其导入 root,在这种情况下,你可能会说,为了降低成本,我愿意付出一小部分正确性的代价,即使不能达到 100%、达到 99.99%、达到 99.9%,这样的结果都可以接受。这本是用户在定义不同流处理应用或者业务的时候应该可以自己做出的选择。但比较遗憾的是,多数早期的流处理平台其实并没有给予用户该种选择,他们自身的设计理念,那就是为了低延迟直接放弃掉正确性,或者说为了更高的吞吐量直接放弃低延迟。
以上是我想分享的关于流处理的一些误会认知,如果我的分享能够让大家带走两个答案的话,我希望这就是一个。我认为流处理仅仅是一种不一样的计算模型或者编程模型,它将计算带到数据上,而不是将数据引用到计算上,并且在流处理的时候,用户往往需要在正确性、延迟性、成本等不同的维度上做出选择。
Kafka 的角色
为什么当我们说到流处理的时候,很多人都在说 Kafka。大多数人在最早接触 Kafka 时会说,Kafka 就是一个分布式发布订阅的消息系统,但是如果我们去观察 Kafka 的最初一些设计特性可发现以下几点内容。第一点,它可以作为一个写在磁盘上的缓存来使用,或者说,并不是仅基于内存来存储流数据,它可以保证数据包不被及时消费时,依然可用且不被丢失;第二点,由于位移的存在提供了逻辑上的顺序,在同一个话题上,第一个数据比第二个数据最先被发布的时候,也可保证在消费时也是永远第一个数据比第二个数据先被消费;第三点,因为 Kafka 是一个公有的大数据中转站,就是说,所有的数据只要在 Kafka 上,永远可以在 Kafka 周围进行业务的开发或者认知事物的开发。接下来我将花费一些时间详细介绍这三点之间的关系。
Kafka 不仅仅是一个订阅消息系统,同时也是一个大规模的流数据平台,那么它提供了什么呢?第一,提供订阅和发布消息;第二,提供一个缓存的流数据存储平台;第三,提供流数据的处理平台。今天,我将着重讨论流式计算在 Kafka 上面的应用。
流式计算在 Kafka 上的应用主要有哪些选项呢?第一个选项就是 DIY,Kafka 提供了两个客户端 —— 一个简单的发布者和一个简单的消费者,我们可以使用这两个客户端进行简单的流处理操作。举个简单的例子,利用消息消费者来实时消费数据,每当得到新的消费数据时,可做一些计算的结果,再通过数据发布者发布到 Kafka 上,或者将它存储到第三方存储系统中。DIY 的流处理需要成本。打个比方,考虑数据的延迟性,考虑不同时间上的管理分配,正如很多人提到的 processing time,这将是我后文会重点提及的概念。以上这些都说明,利用 DIY 做流处理任务、或者做流处理业务的应用都不是非常简单的一件事情。
第二个选项是进行开源、闭源的流处理平台。比如,spark。关于流处理平台的一个公有认知的表示是,如果你想进行流处理操作,首先拿出一个集群,且该集群包含所有必需内容,比如,如果你要用 spark,那么必须用 spark 的 runtime。因为他们划定了你作为一个流处理平台使用者需要用到的所有行为,比如,资源管理系统、参数调配系统、容器配置、代码封装、分发等,以上行为都已被该平台所限定。一旦你选择使用甲就必须用甲套餐装备,如果选择使用乙就必须使用乙套餐装备。有人不禁提出疑问,我能不能既选择流处理平台,又使用自己选择的,我能不能这样做呢?
这个应用场景其实很普遍,举个例子,可异步式微服务处理。什么叫异步式微服务处理?假设 Kafka 作为一个缓存数据,在该缓存区含有很多不同的业务。打个比方,一个网店的机构可以有不同的组、不同的员工,有人负责销售、有人负责商品分发,有人负责价格管理、有人负责在线实时的限流监控,不同的组、不同的员工可能会以不同的时间,或者以不同的代码来更新他们的产品,只要拥有一个异步式缓存机制,即 Kafka,便可扩大该微服务,而不需要他们的任何一个组之间进行同步请求应答机制。
在该微服务情况下,每个小组的喜好、特性并不一致,有的组表示我需要做流处理平台,从 Kafka 读数据,处理完再写回 Kafka,并且想要使用 EWS 把我的应用部署在云端大规模集群上;而另外小组表示我不需要那么复杂,我只是小规模数据,不希望起一个集群,只需起三个机器,并且每个机器有 1GB 内存足以,可进行手动控制操作,不需要资源管理器。那么我们能不能同时满足他们不同的需求呢? 答案就是我接下来要说的第三种选项。
第三种选项是使用一个轻量级流处理的库,而不需要使用一个广泛、复杂的框架或者平台来满足他们不同的需求。在 Kafka 0.10 当中已发布轻量级流处理内容平台,我们可以设想,跟其他客户端发布者和消费者一样,它也是一个客户端,不同之处在于它是一个计算者客户端,一个好用的、功能强大的客户端,并且支持 state processing、Windows 延时的、异步的、甚至不同数据的调控。 最重要的是 Kafka 作为一个库,可以采用多种方法来发布流处理平台的使用。比如,你可以构建一个集群;你可以把它作为一个手提电脑来使用;甚至还可以在黑莓上运行 Kafka。以上都是尤其简单的运行库的概念。
因此我们要做的事情与使用 Kafka 其他的客户端类似,比如发布者、消费者,只要在代码里边加入就可以使用各种各样的 API。当你要调配控制 Kafka Stream 应用的时候,选择最基础的 War File 来运行或者采用 Java、C,甚至资源管理器来运行都是可行的。因为 Kafka Stream 是一个轻量级流处理的库,可支持各种各样的运维方式。
在我们看来,简单的就是美的,只有给用户提供最大的兼容性与最大的延展性,用户才能得到最好的用户体验。
Kafka Stream 的编程语言
如果接触过 Storm、Spark 等流处理平台的同学可以发现,它们与 Kafka Stream 高阶位 DSL 语言其实有相似之处。如上图所示,首先定义一个 Streams 流, Streams 是从 topic1 中的 topic 获取得到,即定义 Streams、处理 Streams、得到新的 Streams。比如,从 topic1 里面得到两个原始数据流,然后数据流进行 countByKey 得到新的数据流叫做 Counts。那么 counts.to(“topic2”) 是什么意思呢?在获取到新的数据流之后写回 Kafka topic2 内,启动 KafkaStreams 进程,与 Kafka producer、Kafka consumer 类似,让它来运行已定义计算。
正如大家所了解的,API 的使用其实很简单。提供一个简单的 API,用户简单地写入运行逻辑即可运行。但是编程应用总是容易的,而它的复杂程度在于,一旦你开始运维该应用,当你想要把业务拓展到更大规模,或者业务出现变化,或者集群不稳定,需要强大的运维时,运维的程度便显得异常重要,最上面的编程可能只是冰山一角。Kafka Stream 的设计理念是最简单的就是最美的,包括 API、运维、debugging,以及各种各样的方式,都是希望给用户带来最简单的体验。它的核心思想就是把难问题直接给 Kafka 集群本身。
Kafka 的介绍
Kafka 的核心思想是什么?就是把这些消息全部存成一个有序日志,所有的消息发布者把消息发布到底端,从某一个逻辑上的位移开始顺序读取所有的消息。它的一个好处在于所有的读和写,尽管都是刷到磁盘上,但都是按照顺序进行,该方式对磁盘的使用比较有效,倘若消费者和发布者隔得比较近,将利用 page cash 直接读数据。
延展性。如上图,提供 topic 以及 topic partitions,即话题与话题分区的机制。每个用户有不同的 topic,每个 topic 可以有多个分区,每个分区可被装载在不同的机器上,当用户提高规模之后,Kafka 只需要简单地增加机器和 topic partitions 数量,或者采用 ROM balance 的方式到不同机器上,即可达到线性延展方式。
以上是 Kafka 最简单的核心思想,接下来我将介绍 Kafka Streams 作为 Kafka 客户端如何利用以上核心思想来设计流处理的平台。数据流其实就是有序的记录或消息,每个消息是一个 Key 加一个 Value,并且 record 与 Kafka 自身 massage 具有一一对应关系。
用户所提供的业务上的计算模型,其实可用拓补结构进行表达。如上图,图的左边。用户首先进行定义数据流,然后对数据流进行计算,得到新的数据流,最终将数据流写回到 Kafka 内。每当用户进行定义的时候,每一步都会变成拓扑结构里面的一个点,每个点通过流进行计算,变成新的流来进行新的连接,最终在 Kafka 内部形成拓扑结构。用户并不需要在意该拓补结构,只需明白定义流、计算流、得到新的流,写回 Kafka。
连接每一个不同的运算单元就是一个 Stream,即 record stream,每一个 Stream 都在源源不断地实时产生 record,每一个 record 是一个 key 加一个 value。利用 Stream Processor 连接 Stream,每个用户定义的流的一个计算单位对应着一个 Stream Processor。
当用户定义每一步计算的时候,就是定义每个拓扑结构里面的每个点,最终把整个拓补结构定义完整到 Kafka Stream 来运行。计算单...
- ?
数据可视化大屏+日志大数据分析平台,数据智能解决方案改变世界
听南
展开
编者按:在云计算大数据技术日趋成熟的当今,数据挖掘分析与商业智能应用的价值越来越被企业所理解。企业通过对关键业务数据、客户信息以及日志数据的挖掘分析,可进行精准的客户画像并分析客户属性,更准确地发现目标客户和更多的营销机会(市场客户分析、交叉营销等),实现市场、渠道和产品的细分与创新,动态掌握复杂市场需求的变化,智能数据解决方案提升了市场竞争力。
说到智能数据解决方案供应商,去年刚刚获得6000万元融资的“袋鼠云”最近可谓是“动作频频”,不仅多名前阿里核心技术人员强势加盟,更有硅谷留洋“博士团”鼎力回归,让“袋鼠云”这一新锐品牌迅速被数据行业“特别关注”。
数据智能解决方案新锐品牌“袋鼠云”从数据资源规划及获取、数据质量分析及提升,到基于中台策略的数据整体建模以及数据的资产管理都有切实的解决方案,进一步帮助客户建立标签引擎的实体画像,从而帮助客户实施数据指标体系梳理计算(BI)和数据应用规划及实现(DI),最终用数据可视化大屏的形式呈现出来帮助实时决策。可以说“袋鼠云”的智能数据解决方案的产品线可谓“相当完整”。
“袋鼠云”产品线构建了统一负载的全量数据分析平台与方案,统一的在线实时存储、处理、分析工具,支持PB级海量数据处理,可随业务需求线性扩展,为客户实现“即时刻画、秒级呈现”的数据可视化大屏呈现方式。
记者采访中了解到,目前“袋鼠云”品牌在全产品线的智能数据分析解决方案中,日志大数据分析平台与数据可视化大屏即时呈现两大方面技术积累与产品优势十分明显。
EasyLog日志大数据分析平台—用日志解析为企业做体检
“我们将为客户从大量的数据日志项目中,根据客户业务现状清洗整理出切实可行的关键日志信息,做好日志数据挖掘和分析利用,充分在运维过程中给客户带来价值。” 袋鼠云在采访中给记者解释:“传统企业对于海量日志数据利用效能很低,而每次都靠IT人员查阅日志进行系统运维的方式既成本高昂而且运维稳定性很低,而采用了袋鼠云的日志大数据分析平台EasyLog就可以大大提升企业运维的效率,对于很多潜在的系统问题也能做到良好的预警。”
据介绍,目前袋鼠云日志大数据分析平台EasyLog主要部署在大中型互联网企业以及互联网金融行业,也有大型的金融机构、电信运营商等等,这些行业都非常重视日志大数据对于企业运维的作用。
同时袋鼠云日志大数据分析平台EasyLog也可帮助企业满足《中国网络安全法》日志归档要求、满足《公安部息系统安全等级保护》三级要求;
袋鼠云向记者进一步介绍:“目前企业针对日志大数据分析应用有几种方案,一种是基于开源应用的ELK方案,另一种就是类似袋鼠云提供的日志大数据分析平台。前者由于是开源应用,因此企业的前期开发与后期维护成本比较高,也面临无可预计的开发风险,而后者袋鼠云日志大数据分析平台更像是一个“拎包入住”并自配资深管家的成熟方案平台,让客户省去很多后顾之忧。”
而且在采访中记者了解到:“袋鼠云日志大数据分析平台,也有灵活的部署方式,既可以在客户方线下机房部署,也可以部署在云端服务,甚至针对小型企业袋鼠云还有SaaS版的轻量级产品,针对不同的客户可谓“面面俱到”。并且这样的金融级日志分析、AIOps平台,可用于故障定位、业务监控、安全审计等,袋鼠云日志有着可视化仪表盘、监控告警、数据脱敏、数据转发投递、多租户数据隔离等特色功能,可根据企业实际业务完成分析场景建设,以提升企业故障发现率、运维运营效率。
“目前著名的互联网银行品牌新网银行在旗下十余个核心系统中均采用了袋鼠云的日志大数据分析平台EasyLog,从而提升了各业务系统故障发现率,同时极大降低故障处理时间,也成为了成功的众多案例之一。”采访中记者了解到。
数据可视化实时大屏—实现企业数据化运营
而作为袋鼠云全产品线中另一个亮点的“数据可视化实时大屏”也是目前炙手可热的技术,数据产生价值这个大方向让最后呈现的环节中的数据实时分析产生价值,呈现一切价值数据可视化,最终帮助提升生产效率、促进产业变革,通过客户产业创新让数据价值最大化。
采访中记者了解到,袋鼠云数据可视化实时大屏目前主要服务的行业包括新零售、智能制造、智慧人社、以及业务快速增长的互联网创业公司等。
采访中记者了解到,新零售方面一直是袋鼠云的强项。一方面借助营销引擎帮助品牌商打通线上线下的用户数据,实现精准营销。围绕客户的发展与持续经营,统一管理线上营销渠道,打通全域数据,通过数据个性化线下门店服务体验等,使企业与客户之间可随时无阻碍的连接。这些数据与分析都以精准实时的形式呈现在客户的可视化大屏之上,让客户从容决策。
“要精准呈现数据可视化大屏的最佳效果,数据的实时性采集非常重要,袋鼠云实现了对TB级别甚至是PB级别数据的实时处理,实现秒级反馈是最基本的要求,这得益于袋鼠云的技术团队多数来自于阿里云,在实时数据计算处理与呈现方面有丰富的经验。”可视化大屏将企业实时数据即时呈现,比如电商平台的经营概况、用户画像等信息一目了然。
编后:目前袋鼠云的团队已经超过 150 人,80% 左右为技术人员。当下更多的资深技术专家,包括美国回来的人工智能博士和一批专注企业服务多年的行业专家都纷纷加盟袋鼠云,让数据产生价值。无论是数据可视化实时大屏Easy[V]或是日志大数据分析平台EasyLog,智能数据解决方案最终让更多的数据产生价值,让未来变成现在,袋鼠云这一朝气蓬勃的品牌团队正在朝向探索未来数据价值之路上越跑越快。
本文关注:日志大数据分析平台、数据可视化大屏、数据智能解决方案
转载或分享请注明来源标题《数据可视化大屏+日志大数据分析平台,数据智能解决方案改变世界》
- ?
关于流式大数据实时处理技术、平台及应用
Poole
展开
1 引言
大数据技术的广泛应用使其成为引领众多行业技术进步、促进效益增长的关键支撑技术。根据数据处理的时效性,大数据处理系统可分为批式(batch)大数据和流式(streaming)大数据两类。其中,批式大数据又被称为历史大数据,流式大数据又被称为实时大数据。
目前主流的大数据处理技术体系主要包括Hadoop[1]及其衍生系统。Hadoop技术体系实现并优化了MapReduce[2]框架。Hadoop技术体系主要由谷歌、推特、脸书等公司支持。自2006年首次发布以来, Hadoop技术体系已经从传统的“三驾马车”(HDFS[1]、MapReduce和HBase[3])发展成为包括60多个相关组件的庞大生态系统。在这一生态系统中,发展出了Tez、Spark Streaming[4]等用于处理流式数据的组件。其中,Spark Streaming是构建在Spark基础之上的流式大数据处理框架。与Tez相比,其具有吞吐量高、容错能力强等特点,同时支持多种数据输入源和输出格式。除了Spark开源流处理框架,目前应用较为广泛的流式大数据处理系统还有Storm[5]、Flink[6]等。这些开源的流处理框架已经被应用于部分时效性要求较高的领域,然而在面对各行各业实际而又差异化的需求时,这些开源技术存在着各自的瓶颈。
在互联网/移动互联网、物联网等应用场景中,个性化服务、用户体验提升、智能分析、事中决策等复杂的业务需求对大数据处理技术提出了更高的要求。为了满足这些需求,大数据处理系统必须在毫秒级甚至微秒级的时间内返回处理结果。以国内最大的银行卡收单机构银联商务为例,其日交易量近亿笔,需对旗下540多万个商户进行实时风险监控,在确保这些商户合规开展收单业务的同时,最大限度地保障个人用户的合法权益。这样的高并发、大数据、高实时应用需求给大数据处理系统提出了严峻的挑战。银联商务以前使用的T+1事后风控系统存在风险侦测迟滞高(次日才能发现风险,损害已经造成)、处理时间长(十几个小时之后才能完成风险识别)、无法处理长周期历史数据(只能分析最近几日的流水数据)以及无法支持复杂规则(仅能支持累积求和等简单规则)等重大缺陷。为此,亟须研发全新的事中风控系统,以重点实现低迟滞(在1 min内甄别突发风险)、高实时(100 ms内返回处理结果)、长周期(可处理长达10年以上的历史周期数据)以及支持高复杂度规则(如方差、标准差、K阶中心矩、最大连续统计等)等目标。这一目标可以抽象为一个大数据处理科学问题:如何在一个完整的大数据集上,实现低迟滞、高实时的即席(Ad-Hoc)查询分析处理。
2 技术解析
现有的大数据处理系统可以分为两类:批处理大数据系统与流处理大数据系统。以Hadoop为代表的批处理大数据系统需先将数据汇聚成批,经批量预处理后加载至分析型数据仓库中,以进行高性能实时查询。这类系统虽然可对完整大数据集实现高效的即席查询,但无法查询到最新的实时数据,存在数据迟滞高等问题。相较于批处理大数据系统,以Spark Streaming、Storm、Flink为代表的流处理大数据系统将实时数据通过流处理,逐条加载至高性能内存数据库中进行查询。此类系统可以对最新实时数据实现高效预设分析处理模型的查询,数据迟滞低。然而受限于内存容量,系统需丢弃原始历史数据,无法在完整大数据集上支持Ad-Hoc查询分析处理。因此,研发具有快速、高效、智能且自主可控特点的流式大数据实时处理技术与平台是当务之急。
实现一个融合批处理和流处理两类系统且对应用透明的系统级方案,需要攻克以下几个技术难点。
(1)复杂指标的增量计算
尽管计数、求和、平均等指标能够依靠查询结果合并实现,然而方差、标准差、熵等大部分复杂指标无法依靠简单合并完成查询结果的融合。再者,当查询涉及热点数据维度及长周期时间窗口的复杂指标时,多次重新计算会带来巨大的计算开销。
(2)基于分布式内存的并行计算
采用粗放的调度策略(例如约定在每天的固定时间将流数据导入批处理系统)会造成内存资源的极大浪费,亟须研究实现一种细粒度的基于进度实时感知的融合存储策略,以极大地优化和提升融合系统的内存使用效率。
(3)多尺度时间窗口漂移的动态数据处理
来自业务系统的数据查询请求会涉及多种尺度的时间窗口,如“最近5笔刷卡交易的金额”“最近10 min内密码重试次数”“过去10年的月均交易额”等。每次查询请求都重新计算结果会对系统性能造成极大的影响,亟须研究实现一种支持多种时间窗口尺度(数秒到数十年)、多种窗口漂移方式(数据驱动、系统时钟驱动)的动态数据实时处理方法,以快速响应来自业务系统的即席查询请求。
(4)高可用、高可扩展的内存计算
基于内存介质能够大大提升数据分析及处理能力,然而由于其易挥发的特性,一般需要采用多副本的方式来实现基于内存的高可用方案,这使得“如何确保不同副本的一致性”成为一个待解决的问题。此外,在集群内存不足或者部分节点失效时,“如何让集群在不间断提供服务的同时重新平衡”同样是一个待解决的技术难题。亟须研究分布式多副本一致性协议以及自平衡的智能分区算法,以进一步提升流处理集群的可用性以及可扩展性。
“流立方”流式大数据实时处理技术在上述领域取得了一系列突破,该技术提供基于时间窗口漂移的动态数据快速处理,支持计数、求和、平均、最大、最小、方差、标准差、K阶中心矩、递增/递减、最大连续递增/递减、唯一性判别、采集、过滤等多种分布式统计计算模型,并且实现了复杂事件、上下文处理等实时分析处理模型集的高效管理技术。
3 平台纵览
基于“流立方”流式大数据实时处理技术,研发了“流立方”流式大数据实时处理平台。其应用框架如图1所示,具有良好的灵活性和适应性。平台的数据装载模块负责从具体业务系统中接入实时流数据,数据抽取模块负责批量抽取历史数据,模型装载模块负责将分析处理模型集中的计算模型和脚本加载到平台中。当收到业务系统发出的实时查询请求时,“流立方”平台能够根据分析处理模型在完整大数据集上实时计算出相应的指标,并进行判断,将结果反馈给业务系统。
图1 “流立方”平台应用框架
在测试环境为8台服务器(每台服务器配置24核 CPU、256 GB内存),同时计算16个统计指标(涉及4个维度,包含计数、求和、平衡、最大、最小、标准差、过滤、去重、排序、复杂事件处理等多种算法)的性能测试中,“流立方”平台达到了单节点写入大于43 000 TPS、8节点读取大于100万TPS、平均时延为1~2 ms的优异性能,如图2所示。
图2 “流立方”平台性能指标
“流立方”平台在解决批式大数据和流式大数据融合实时处理技术难题,实现优异性能的同时,还解决了流式大数据处理平台面临的两大工程化难题。一是作业的编排效率问题。大部分开源流处理平台在完成一个流处理编排时,都需要经过拓扑设计、代码编写、功能测试、打包部署等环节,一般需要一周的时间才能完成。“流立方”平台通过基于“所见即所得”的在线作业编排管理,将上线任务耗时降低到分钟级,大大提升了流处理作业的编排效率。二是流处理作业的灵活变更问题。流处理平台擅长进行逻辑预先定义的增量计算,尽管其计算效率极高,但计算灵活度受到限制。例如,某业务需要统计过去3个月的数据,现有的流处理平台在该业务上线3个月后才能完全生效,这样的工作方式使流处理技术在实际应用中受到很大的局限。“流立方”平台创新性地引入流媒体播放器的录制与重放思路,在原始数据进入流处理平台时,通过顺序写的方式持久化一份原始数据,在需要上线新的计算作业时,即刻重发指定时间窗口内的原始数据,从而实现快速(分钟级甚至秒级)计算作业上线。
“流立方”平台引入了一系列创新技术,在性能、可用性、可扩展性等多个层面提升了流处理平台的处理能力,满足金融领域在内的众多领域的业务及运维需求。引入数据冲突智能规避技术,解决了流式处理中的热点数据处理问题,从而解决了大颗粒数据维度的处理效率问题;引入Paxos一致性协议,解决内存存储计算时多副本一致性问题,提供了面向运维人员透明的一致性解决方案;引入智能分区技术,基于一致性散列技术,进一步将散列值拆解为散列块,通过散列块的平滑迁移解决存储集群的可伸缩性设计问题,确保对于运维人员的集群变更透明性;引入计算作业的动态运行时加载技术,规避了作业手工打包部署的问题,进一步提升了开发人员的工作效率。
在国内某大型银行卡收单机构组织的招标测试中,测试环节为两台低配置虚拟机,测试数据为该机构的数千万笔交易流水,计算逻辑包括50多条规则,涉及30多个统计指标。在该测试环节下,两家国外著名厂商中,一家厂商的计算时间长达24 h,另一家老牌数据库软件提供商则未能在一天内完成计算。相较于这些国外著名厂商的大数据处理平台,“流立方”平台能够在3 h内完成所有计算,且正确率为100%。
4 应用场景
“流立方”流式大数据实时处理系统在金融、交通、电信、公安等行业具有广泛的应用场景。以金融风控反欺诈为例,部署“流立方”风控系统仅需在交易前端增加风控探头,将实时交易数据旁路接入系统。“流立方”风控系统根据融合了专家知识和机器学习结果的数百条规则对每笔交易进行风险评估,判断是否允许进行该笔交易,流程如图3所示。该系统平均响应时间在6 ms以下,并发数超过50 000笔/s。同时,实现这一性能仅需要4台服务器。
图3 基于“流立方”的金融风控反欺诈流程
基于“流立方”的金融风控反欺诈技术体系包含技术(如设备指纹、代理侦测、生物识别、关联分析、机器学习等技术)、知识(如盗卡反欺诈、伪卡反欺诈、信用卡套现、营销反欺诈等规则与模型)、数据(如虚假手机数据、代理IP数据、P2P失信数据等标识数据)三大板块。技术部分中的设备指纹技术通过主被动混合的形式采集设备中软硬相关要素,结合概率论等算法为每一个设备颁发一个全球唯一的指纹编码,这些指纹编码在反欺诈的整个过程中起到非常积极的作用;代理侦测技术通过短时间内扫描IP相关端口来识别那些开启代理的IP,并在这些IP访问金融服务时进行识别;生物识别技术通过采集设备上用户的鼠标点击、触摸、键盘敲击等行为识别操作者是人还是机器以及是否操作者本人的问题;关联分析技术在底层通过图数据库存储不同节点以及关系信息,最终在界面上通过图的形式进行欺诈者关联分析及复杂网络分析;机器学习技术通过有监督、无监督的机器学习算法提升欺诈识别的准确率及覆盖率,并结合流立方技术提供模型的事中预测能力。
基于上述技术体系,研发了银行业务风险实时监控系统、互联网支付业务风险实时监控系统、电商业务风险实时监控系统等金融风控反欺诈系列解决方案。这些方案已应用到银行、第三方支付机构、互联网金融等领域的上百家企业。目前50%以上的线下交易都在“流立方”的保护下进行,基于“流立方”的金融风控反欺诈解决方案每天为我国的金融机构抵御上亿次的攻击。该技术已经成为我国金融安全领域基础设施必不可少的组成部分。
此外,在互联网机器防御系统中,“流立方”同样能发挥巨大作用。如今网络机器人遍布票务、电商、招聘、银行、政府、社交等各类网站,消耗了40%~60%的网络流量。网络机器人不仅消耗网络资源、影响正常客户访问、增加网站运营成本,还会爬取产品、价格信息,形成不正当竞争,甚至混淆网站用户生态,影响营销分析。传统的控制策略通过采取屏蔽频繁访问、设置验证码等方式防御网络机器人,无法应对日益智能化的新型网络机器人。基于“流立方”的互联网机器防御系统通过在Web服务器上嵌入插件或者独立的嗅探器(sniffer)程序,将全流量的Web访问请求旁路到独立的机器防御集群,进行实时的流量分析及防御决策,并将决策后的结果实时回馈到Web服务器插件中。Web服务器插件在判定当前访问的设备或者IP地址等是机器人时,能够自动改写响应内容,根据不同的风险级别自动拒绝交易或将访问者引导到第三方图形验证码服务商进行机器人验证。访问者在通过验证后可以继续正常访问Web服务。该系统还创新地将设备指纹以及人机识别服务运用到机器防御系统中,不仅增加了可分析维度,提升了控制颗粒度,同时能够对基于浏览器内核的高级爬虫进行防护。此外,将机器防御规则、数据服务、设备指纹、人机识别以及图形验证码以软件即服务(software as a service,SaaS)的形式提供服务,进一步降低了互联网网站客户的运维门槛,提升了产品竞争力。该机器防御系统工作过程如图4所示。
基于“流立方”的实时机器防御系统通过多服务器访问流水关联决策、长周期数据决策、复杂规则爬虫识别、设备维度爬虫识别、人机识别等技术,实现了微秒级(400~800μs)的识别时延,同时具有机器人识别管控一体化、轻量级接入等优点。根据已经接入机器防御服务的几十家客户的反馈,基于“流立方...
- ?
科技:权衡实时大数据分析的优缺点
冰枫
展开
导语:在这个数据爆炸的时代,组织正在以不断增长的速度收集和存储数据。但是,仅为您的组织收集数据并不具有任何业务价值。这些大数据的实时分析和可视化将这些大量数据转化为有价值的统计数据。虽然这种实时洞察对您的组织具有重要价值,但它确实有利有弊。
在进一步讨论之前,让我们讨论大数据,究竟是什么?传统上,数据存储起来要容易得多,因为它的数量要少得多。当需要以更大的数量存储数据集时,大数据才出现。它不仅是数据或数据集,还包括工具,技术,方法和框架的组合。大数据几乎可以来自任何产生数据的东西,包括搜索引擎和社交媒体,以及一些不太明显的来源,如电网和交通基础设施。该数据可以分为三种类型:结构化,半结构化和非结构化。
通常以预定义的间隔收集和分析大数据。然而,通过实时大数据分析,收集和分析是连续的,为企业提供最新的洞察力。Hadoop是用于分析大数据的最着名的工具,但它不适合处理实时大数据分析。一些实时大数据工具包括: 这是一个实时分布式计算系统,可与任何编程语言配合使用,并且可扩展。它目前由Twitter拥有。这是一个企业开源网格计算工具。
现在让我们讨论实时大数据分析的一些优点。快速识别错误,假设发生了错误,需要尽快解决。通过实时大数据分析,可以立即识别此错误并快速解决。这可以帮助防止更多和/或更严重的故障。从长远来看,这也有助于企业的声誉 - 快速纠错可以帮助赢得更多客户。节省,即使实时大数据分析的实施成本很高,立即数据分析的高价值也可以弥补这一支出。渐进式服务,通过大数据分析监控产品和服务可以提高客户的转换率,从而可以带来更高的利润。通过分析可以轻松预测即将发生的错误和问题,这也有助于更多地关注客户需求。
实时欺诈检测,管理系统和服务器安全性的团队可以快速,轻松地通知欺诈行为,一旦检测到欺诈行为,就可以实时采取措施。针对竞争对手的策略 - 竞争吓跑了当今市场中的许多人,大数据分析有助于提供竞争对手的详细信息,例如推出新产品,降低/提高特定时间段的价格或关注特定地点的用户。洞察力销售见解对于了解销售情况至关重要。这些见解可以带来额外的收入,例如不会长期失去客户,检查跳出率并通过分析实时大数据分析找到增加销售的最佳方式。趋势,通过分析客户趋势做出的决策可以通过实时大数据分析来完成。这可能包括产品,广告,客户需求,特定季节和其他可用的优惠。因此,它也可以改善长期决策。
现在让我们来看看缺点。如前所述,Hadoop是最广泛使用的大数据分析工具,目前无法处理实时数据。因此,需要一些其他工具,期望未来Hadoop将为实时方法添加功能。需要新方法,一些组织习惯于每周一次接收见解。但是,随着实时大数据的不断流入,需要采用完全不同的方法。这对某些组织来说可能是一个挑战,并可能导致某些决策和计划的重塑。可能的失败,一些组织可能会将实时大数据分析视为一个闪亮的新玩具,并希望立即实施。但是,如果没有正确实施,这可能会导致许多问题。如果企业不习惯以如此快的速度处理数据,则可能导致错误的分析,这可能会给组织带来更大的问题。
总结:实时大数据分析对于企业来说可能非常重要,但企业必须首先确定专业人员在特定情况下是否超过缺点,如果是,那么这些缺点将如何克服。这仍然是一项相对较新的技术,因此有望在未来发展,并有望解决目前的一些挑战。
实时大数据分析
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并