亚马逊最近发布了一项新AWS服务,把大数据流带入到了类似SaaS的世界里,你向输入流执行一个SQL查询就可以获得输出数据了,不必再花时间写代码或者搭建底层基础设施。
对于那些在存储和计算方面非常看重工程上的快速部署和无限扩展的公司,云就是他们的最终归宿。基于Hadoop提供大数据PaaS已经发布很久了,Azure提供的是 HDInsight ,AWS提供的是 Amazon Elastic MapReduce ,但现在更加重磅的实时流处理的产品终于出场了。在Azure云上做事件流处理主要用的是一种非常简单、类似SaaS的方法,现在AWS终于也提供了类似产品。
Amazon Kinesis Analytics 现在已经发布了,是微软在2015年 发布 的 Azure Stream Analytics 的直接竞争产品。两种服务都是用相同方法实现流分析功能的:挂接到数据源,再指定目的端,然后不断地运行查询命令来生成输出结果。分析就是通过查询命令做的,两个产品都用SQL(或非常类似SQL的语言),这就非常容易实现具体的分析了。
在云这个行业有个非常有趣的趋势:平台提供商都在努力把自身的经验和优势应用到云上分析中,努力通过抽象让最终用户非常容易使用自己的产品。现在的AWS Kinesis产品就是亚马逊用来为AWS用户们 提供细粒度指标 的。在项目启动时担任数据服务部总经理的Ryan Waite说:“这让我们测量服务的处理能力上了新台阶,可以实时发出预警了”。它成功地将重心从“你可以在我们这里做这件事”转变成了“我们可以帮你作这件事”。AWS首席宣传官 Jeff Barr 在他的宣传Amazon Kinesis Analytics的 博客 中主要强调了容易使用这个方面:
你可以关注处理数据并从中提取业务价值,再也不必浪费时间部署基础设施了。不超过5分钟,只需要写一点点复杂度绝对不超过SQL查询的东西,你就可以构建起一套强大、端到端的流处理管道了。
Kinesis Analytics使用的是管道模型,分析程序连上数据源,不断地运行某个查询命令,再把结果输出到某个目标端。源可以是 Kinesis Stream 或者 Kinesis Firehose ,这样你就可以把数据从很多个事件生产者那里汇集起来,交给某个查询。SQL查询可以简单到查看有多少生产者在发送数据的SELECT DISTINCT操作,也可以复杂到做类似滑动窗口的分析。目标端也可以是Kinesis Stream或Firehose,这样你就可以把累积数据存入一个关系型数据库,或者把原始数据存入Hadoop。
要达到与IaaS甚至PaaS相同的效果,就需要有类似 Kafka 的分布式输入队列,有类似 Apache Storm 或 Spark Streaming 的流处理引擎,以及像 Elasticsearch 一样的分布式目标端。这些都是需要大量管理工作的分布式集群,而分析则是你要自己写代码、测试和部署的定制化解决方案部分。Kinesis Analytics 内部 是SQLStream,所以AWS是在用ANSI标准SQL提供一个可管理的流分析解决方案。
Azure也是类似的,与AWS对应的流分析服务最近发布了一个PowerBI(微软的数据可视化工具)的 输出连接器 。Azure Stream Analytics研发部经理 Ryan CrawCour 把这种端到端的分析解决方案与用户自己定制的方案作了一个对比:
在以前如果你想构建一套系统,对自己的数据按自身需求进行分析并且将结果展示出来,首先要做数据清洗,再保存到某个数据库中,然后再自己写好程序去不断地查询分析数据,最终再展示到自己写的展示界面上。
不管数据中心还是云,现在在大数据开发领域最受关注的就是实时分析和事件流了。今年 Spark 2.0 的发布为流式数据源增加了DataFrame支持。 Apache NiFi (一个支持流的大数据处理和路由工具)已经发布了 1.0 版。Hortonworks也发布了新版本 DataFlow 1.2 ,这个是基于NiFi并专注于流处理的。
在大数据处理领域 Lambda架构 一直都是通用做法:把所有数据都做持久化存储用于批量处理,再把关键数据抽取出来做实时可视化展示。与批处理相比,实时处理一直都缺乏比较好的通用的管理手段。有了Kinesis Analytics之后,大家在寻找基于云的解决方案时就有了新选择。
查看英文原文: Amazon Kinesis Analytics is Like SaaS for Big Data Analysis
欢迎大家继续关注慧邮件邮件营销平台,也可以在我们的慧邮件官网了解更多邮件营销技巧,大数据知识,也可以通过电话:400-666-5494联系到我们,更多精彩知识、活动等着你。