跳到主要内容

解释:流处理,流数据,
和流数据管道

How stream processing and streaming 数据管道s turn digital actions into 实时分析

什么是流数据?

Streaming data is the continuous flow of information from disparate sources to a destination for real-time processing and analytics.

数据流的例子是什么?

实时数据流在不断产生新数据时非常有用. 例如, credit card companies can use streaming transaction data to detect irregularities and stop fraud before it happens. Or applications can present recommendations to a customer based on their real-time choices leading to better customer experience (a la Netflix, 亚马逊, 或YouTube).

像这样个性化一个网络体验, 计算最优卡车路线, 或者报告睡眠模式 的例子是 实时分析. 流数据用于在结帐期间推广产品插件, 所说的卡车, 或者哄婴儿入睡的例子 实时应用程序.

For the purposes of this article, we will focus on streaming data used for analytics, including 情绪分析, 预测分析, 机器学习/人工智能.

流数据和实时分析

为了将流数据放入透视视图中,每个人都要创建 2.每天5万亿字节的数据 根据目前的估计. 数据不仅仅来自于人. IDC估计会有 41.60亿台设备连接到“物联网” by 2025. 从飞机到土壤传感器再到健身带, devices generate a continuous flow of streaming data for 实时分析 and applications. 

每个人都希望自己的那部分数据能更好地发挥作用:

They depend on a continuous flow of data coming from sources that are subject to change and often out of IT’s control. 在数据价值链的目标端, 数据消费者使用许多不同的系统, 专为特殊类型的分析. 中间是 数据工程师, 负责创建连接,确保数据保持正确和一致. 

那么,流式数据的好处是什么呢?

简单地说, the real-time nature of stream data processing allows data teams to deliver continuous insights to business users across the organization.

数据处理如何工作:为分析准备数据

数据才能被用于分析, 目标系统必须了解数据是什么以及如何使用它. 数据流经一系列不同需求和功能的区域: 

原始区

原始区域以原始状态存储大量数据, 通常在其原始格式(Avro, JSON或CSV, 例如). 数据以流数据的形式通过摄取过程进入原始区域, 一批数据, or through a change data capture process where only changes to previously 加载 data are up日期d. 

清洁区

The clean zone (or the refined zone) is a filter zone where transformations may be used to improve data quality or enrich data. 常见的转换包括数据类型定义和转换, 删除不必要的列, 屏蔽可识别数据, 等. 该区域的组织由最终用户的业务需求决定, 例如, 这个区域可以按地区组织, 日期, 部门, 等.

策划区域

策划区是消费区,优化分析而不是数据处理. 这 zone stores data in denormalized data marts and is best suited for analysts or data scientists who want to run ad hoc queries, 分析, 或高级分析. 

符合区域

The conformed zone houses data 改变了 and structured for business intelligence and analytics queries. 

从Apache卡夫卡到对象存储

Apache卡夫卡 is an open source distributed event streaming platform, known as a “pub/sub” messaging system. A streaming data source starts publishing or streaming data and a destination system subscribes to receive the data. The publisher doesn’t wait for subscribers and subscribers jump into the stream when they need it. Kafka快速、可扩展、耐用,是本地大数据部署的支柱.

云平台 引入了一种新的存储非结构化数据的方法,称为对象存储. 生产商与消费者脱钩,存储成本可以忽略不计. 您可以将所有需要的数据作为对象保存,以便在需要时访问. 例如, 亚马逊运动 integrates directly with 亚马逊 Redshift (an analytics database) and 亚马逊 S3 for streaming data. 

流处理与批处理 

To make streaming data useful requires a different approach to data than traditional batch processing 数据集成技术. 可以将批处理看作是制作一部电影. 这部作品有开头、中间和结尾. When the work is complete, there is a whole, finished product that will not change in the future. 流处理更像是一场情节剧. All of the production tasks still happen, but on a rolling time frame with endless permutations. 

在批处理, 数据集 提取 从来源,加工或 改变了 让他们有用,而且 加载 进入目标系统. ETL处理及时创建业务快照, 存储在数据仓库或数据集市中,用于报告和分析. Batch processing works for reporting and applications that can tolerate latency of hours or even days before data becomes available downstream. 

需要更及时的信息, 批次变得越来越小,直到一批成为一个单一的事件 流处理了. 没有开始或结束, sliding window processing developed so you could run analytics on any time interval across the stream. 

同时处理流处理和批处理已成为一个关键 数据工程的现代方法. 在DNB, 挪威最大的金融服务集团, 数据工程师尽可能使用流处理而不是批处理 数据工程最佳实践

电子游戏网址大全鼓励电子游戏网址大全的数据工程师尽可能使用流媒体模式. 下游管道可按要求运行, but it always gives us the option of running it more frequently than once a day to a near real-time by using this approach.”

流处理框架

Stream processing frameworks give developers stream abstractions on which they can build applications. 至少有5个主要的开源软件 流处理框架 以及来自亚马逊的托管服务. 每一个都实现了自己的流抽象,并在延迟方面进行了权衡, 吞吐量, 代码复杂性, 编程语言, 等. 它们有什么共同之处? 开发人员使用这些环境在代码中实现业务逻辑.

Apache火花 is the most commonly used of these frameworks due to its native language support (SQL, Python, Scala, 和Java), 分布式处理能力, 大规模集群的性能, 还有光滑的内存架构. Apache火花对数据进行微批量处理. 

流数据管道示例

A 数据管道 使来自一个系统的数据在另一个系统中有用的一系列步骤是必需的吗. A streaming 数据管道 flows data continuously from source to destination as it is created, 让它在过程中发挥作用. 流数据管道用于填充数据湖或数据仓库, 或发布到消息传递系统或数据流. 

下面的例子是用于分析用例的流数据管道.

向S3发送Kafka消息

Where your data comes from and where it goes can quickly become a criss-crossing tangle of streaming 数据管道s. Streaming 数据管道s that can handle multiple sources and destinations allow you to scale your deployment both horizontally and vertically, 没有复杂. 了解如何管理大型工作负载和 将Kafka消息扩展到S3.

Kafka消息到S3流管道

在亚马逊动态流中保护信用卡数据

亚马逊运动, 亚马逊提供的一个受支持的实时流媒体服务, 可能是填充S3和Redshift以及在云分析系统中使用的好选择. 这 Kinesis的流数据管道 uses credit card type as a partition key to apply data masking if a credit card is found in the file then publishes the information to the Kinesis producer. 

流数据管道运动

从推特到Kafka再到Azure上的机器学习

在推特上追踪你最喜欢的球队的提及可能会让球迷感兴趣, 但对团队的态度可能被用来决定广告预算投资. 这 情感分析数据管道 允许你从推特到Apache卡夫卡的数据流,准备它 Azure情感分析API,然后将要查询的数据存储到您想要查询的内容.

情感分析数据管道

使用Tensorflow的机器学习数据管道

Machine learning applies algorithms to data to discover insights from large and unstructured data sets. 例如, breast cancer tumor data could be analyzed and classified as either benign or malignant for all kinds of environmental and population 分析 to better understand treatment and prevention. 这 streaming 数据管道 shows you how to ingest data and generate predictions or classifications using 使用Tensorflow进行实时机器学习.

使用Tensorflow的机器学习数据管道

流式数据的挑战 

Before you choose a tool or start hand coding streaming 数据管道s for mission critical analytics consider these decision points. 

变革的暴政

数据将漂移 你需要一个计划来处理它. 模式更改、语义更改和基础结构更改. 当你的分析依赖于实时数据时, 您不能将管道从生产中取出来进行更新. 您需要在不停止和启动数据流的情况下进行更新和预览更改. 更好的是, you need the ability to automate data drift handling as much as possible to ensure continuous data.

手工编码怎么样?

Kafka和Spark等技术简化了流处理的许多方面, working with any one of them still requires specialized coding skills and plenty of experience with Java, Python, Scala, 和更多的. 在任何单一流处理技术中都很难找到熟练的开发人员, 但要组建一支精通多个领域的团队? 不是每个人的预算. 手工编码限制了您的团队扩展和普及数据访问的能力. 

疯狂创新之旅

新的流处理框架解决了流数据的挑战, 您需要能够适应和优化您的数据管道. 基于云的解决方案本身就工作得很好, 但是如何跨平台或多个目的地传输数据呢? 您可能不得不重新手工编写您自己的连接器, 或者结果是多重的, 独立的系统进行监控和维护. 

遵循业务逻辑

这些问题集中于“如何”实现数据管道的细节. 数据如何从A点到达B点并发挥作用? 如果有很多a,很多b,数据永远不会停止流动,会发生什么? 你如何保持在“什么”的前面,而不陷入“怎么做”?

The majority of business logic that drives the modern enterprise resides in the integration between 1000s of specialized applications across multiple platforms. 你的分析和运营成为 这是现代商业运作中最脆弱的地方.

构建的数据工程方法 智能数据管道 allows you to focus on the what of the business logic instead of the how of implementation details. 在理想的情况下, your streaming 数据管道 platform makes it easy to scale out a dynamic architecture and read from any processor and connect to 多重云目的地.

构建流数据管道

批量摄取数据管道

数据流是巨大的、变化多端的、通常是非结构化的、无情的. 它们可能在你的控制之下,也可能不在你的控制之下. 实时流架构有很多活动部件, 它们以不同的(并且快速发展的)配置范围出现.

然而,实时数据提供了丰富的新信息脉络,供人们进行深入分析. It’s the difference between waiting for box office results to determine next quarter’s release schedule, 然后自动在流媒体电影频道播放下一集或推荐. 

您需要担心的数据流的“如何”就越少, 你就越能专注于在你的业务中使用它来促进增长和创新. Keeping a continuous flow of data for both analytics and exploration is the job of data engineering and streaming 数据管道s.

的电子游戏厅 数据工程平台 致力于构建所需的智能数据管道 权力DataOps 跨混合和多云架构. 构建您的第一个数据管道 今天!

回到顶部

电子游戏网址大全使用cookie来改善您对电子游戏网址大全网站的体验. 单击“允许所有人同意”并继续访问电子游戏网址大全的网站. 隐私政策