大数据实时流数据处理分析_通过数据流进行实时数据处理:新时代的新工具

大数据实时流数据处理分析

如今,有许多数据源(例如IoT设备,来自移动应用程序的用户交互事件,金融服务交易和健康监控系统)实时广播关键信息。 使用这些数据源的开发人员需要考虑该架构,以捕获各种规模和复杂性的实时流数据。

过去,难以大规模处理实时信息。 硬件体系结构需要进行低延迟设计,而软件则需要更高级的编程技术,以结合接收数据,处理数据和高效传送数据。

[InfoWorld的要点: 什么是Apache Spark? 大数据分析平台介绍了以下内容 • Spark教程:Apache Spark入门 • 什么是数据挖掘? 分析如何发现见解 。 | 通过《 InfoWorld日报》时事通讯了解最新的企业技术中的关键新闻和问题。 ]

数据处理方式的转变

我最近参加了Strata数据会议, 发现了一种范式转换 :有多个框架(开源和商业框架)使开发人员可以处理数据流或实时数据处理有效负载。 还有一些商业工具可以简化数据流的编程,缩放,监视和数据管理。

世界不再是批处理,与两三年前相比,如今处理数据流的工具要容易得多。

今天的工具,体系结构和方法都与过去用于批处理时代的数据集成和数据仓库所使用的工具大不相同。 您开发了脚本或作业,这些脚本或作业主要从平面文件中提取数据,将其转换为可用的结构,然后将其加载到数据库或其他数据管理系统中。 这些ETL(提取,转换,加载)脚本直接部署到服务器上,并计划使用Unix cron类的工具运行,或者它们是在有新数据可用时运行的服务,或者它们是在Informatica,Talend, IBM,Microsoft或其他提供商。

如今,一旦捕获了数据,就越来越需要实时处理分析和机器学习功能。 这样做是为了获得竞争优势,例如需要处理新闻,社交媒体和金融信息的银行,并使他们的交易者能够通过实时分析来响应市场状况。 它还可用于促进实时客户体验,例如消费者零售平台,该平台可以在顾客走进商店时对其进行识别,并在他们浏览商品时建议个性化产品。 这也可能是医院,机场,建筑区和发电厂的生死攸关,实时分析的关键信息可以识别异常或安全状况并提醒人们采取行动。

确定数据流的技术要求

在选择用于管理数据流的技术之前,重要的是要了解数据源,数据处理要求和目标分析,以帮助选择架构,平台和实施要求。 根据我在Strata Data Conference上与几位从业者和解决方案提供商就流媒体进行的讨论,这里有一些要考虑的因素:

  • 数据源的数量,它们的数据格式(JSON,XML,CSV等),它们的接口(API,平面文件,源数据库),架构复杂性,数据质量因素以及数据速度都是设计时要考虑的因素数据流处理器。 了解数据源是发布完整记录还是仅广播更改的记录和修改的字段,这也很好。 开发人员应查看数据源发布者提供的任何数据词典或其他文档,以对数据的含义和业务规则有深入的了解。
  • 在选择和配置数据流平台时,必须考虑数据的数量和速度以及目标分析所需的数据持续时间。 此外,围绕延迟定义和现实的要求也很重要,延迟是指从源共享新数据到数据流完全处理数据或分析数据之间的延迟。 更高的容量,速度和存储需求以及更低的延迟需求将推动平台和体系结构的选择,并成为底层基础架构的规模和成本的因素。
  • 关注于将要执行的分析类型,它将访问的数据大小以及需要更新的频率。 开发人员还应考虑更改分析的频率,以及在部署新版本的算法时是否存在任何重新处理要求。
  • 开发人员应考虑将数据流部署到公共云,私有云还是边缘设备。 许多物联网用例要求将数据处理的子集在设备上执行或在一组设备本地执行,然后再将汇总数据发送到集中式分析系统。 一个示例案例涉及自动驾驶汽车,该自动驾驶汽车处理数据以制定驾驶决策,然后与集中式分析处理器共享交通或路况。

数据流平台:Kafka,Spark和替代产品

这些要求有助于确定支持数据流的高级体系结构,并设计小批量的试验来验证该方法。 数据流体系结构通常包含三个体系结构组件:

  • 一个消息传递组件,可捕获并开始处理来自数据源的数据。 Apache Kafka在Strata会议上占据主导地位,并在许多会议上进行了讨论。 替代品包括Apache Pulsar和Amazon Kinesis 。
  • 可以运行分析的分布式容错计算系统。 Apache Spark Streaming和用于Spark结构化Streaming的较新API是会议上讨论最多的技术,但替代方法包括Apache Storm , Kafka Streams , Apache Flink和Apache Heron 。
  • 下游系统共享或存储结果。 这可以是像Hadoop或Cassandra这样的大数据平台,SQL关系数据库,平面文件,数据可视化工具,诸如Apache BookKeeper之类的低延迟存储工具,诸如Kinetica之类的 GPU数据库或诸如MemSQL之类的分布式数据库。

考虑Kafka,Storm,Flink和Spark Streaming的一个关键设计因素是您的应用程序是否需要本机流处理,以便在数据到达时进行处理,或者您是否可以支持某些延迟并微分批处理。 如果您的处理要求很基本,那么将Kafka与Kafka Streams结合使用就足够了。 如果需要本地处理,Storm和Flint比Spark Streaming更成熟。 Kafka和Spark Stream的组合是Strata会议上讨论的通用体系结构,演示者指出了其易用性,可伸缩性和多功能性。

数据流架构选项

我根据生态系统的规模判断一个成熟的架构。 随着越来越多的团队在该平台上取得成功,它变得越来越强大,并且提供商的支持也越来越多。 提供者不仅提供专业知识,而且他们的工具还使该技术更容易使用,并且对于组织和用例类型更广泛的受众来说更容易获得。

您可以使用Amazon Web Services ,Microsoft的Azure HDInsight ,Google Cloud的Stream Analytics解决方案或IBM Cloud的Streaming Analytics自己配置架构。 使用这些服务,您更有可能进行设置,配置和维护不同体系结构组件的工作。

大型企业可以从Cloudera , MapR和Hortonworks等大数据平台供应商那里获得数据流功能和支持。 此外,对ETL进行大量投资的企业可以查看来自诸如Informatica Big Data Streaming和Talend Data Streams等供应商的数据流功能。

其他供应商正在优化替代架构。 例如, Streamlio将Apache Pulsar用于消息传递,将Apache Heron用于流处理以及将Apache BookKeeper用于存储相结合,并且声称与Apache Spark相比,这是一种更易于构建和支持的体系结构。

如果您刚刚开始使用这些技术,则可能要尝试免费的DataBricks社区版和StreamAnalytix ,它们提供了免费试用。 使用这些工具,您无需配置任何基础结构即可开始加载数据和开发流算法。

从一小部分需求开始

无论选择哪种方法,最佳实践都是从定义技术要求开始,然后根据这些因素,成本和其他考虑因素来列出一种方法。

通过简短的清单,开发团队应以较低的数据量和速度来实施概念验证。 这些概念验证的关键成功因素是评估在提供所需分析过程中开发的难易程度和多功能性。 在那之后,开发团队应该设法扩大数据流的数量和速度,以评估性能和稳定性。

实时数据流技术尚处于相对较早的阶段,但是毫无疑问,在未来几年中,成功部署的组织将获得竞争优势。

翻译自: https://www.infoworld.com/article/3307518/real-time-data-processing-with-data-streaming-new-tools-for-a-new-era.html

大数据实时流数据处理分析

你可能感兴趣的:(数据库,大数据,人工智能,java,数据分析)