当前位置: 首页 > news >正文

做网站全程指导阿里巴巴的网站怎么做

做网站全程指导,阿里巴巴的网站怎么做,哪里网站可以有做那个的女人,南和网站seo流处理基础概念#xff08;一#xff09;#xff1a;Dataflow 编程基础、并行流处理 1.Dataflow 编程基础1.1 Dataflow 图1.2 数据并行和任务并行1.3 数据交换策略 2.并行流处理2.1 延迟与吞吐2.1.1 延迟2.1.2 吞吐2.1.3 延迟与吞吐 2.2 数据流上的操作2.2.1 数据接入和数据… 流处理基础概念一Dataflow 编程基础、并行流处理 1.Dataflow 编程基础1.1 Dataflow 图1.2 数据并行和任务并行1.3 数据交换策略 2.并行流处理2.1 延迟与吞吐2.1.1 延迟2.1.2 吞吐2.1.3 延迟与吞吐 2.2 数据流上的操作2.2.1 数据接入和数据输出2.2.2 转换操作2.2.3 滚动聚合2.2.4 窗口操作2.2.4.1 滚动窗口2.2.4.2 滑动窗口2.2.4.3 会话窗口2.2.4.4 小结 1.Dataflow 编程基础 1.1 Dataflow 图 Dataflow 程序描述了数据如何在不同操作之间流动。Dataflow 程序通常表示为 有向图。图中 顶点 称为 算子表示计算而 边 表示 数据依赖关系。算子是 Dataflow 程序的基本功能单元它们从输入获取数据对其进行计算然后产生数据并发往输出以供后续处理。没有输入端的算子称为 数据源data sources没有输出端的算子称为 数据汇data sinks。一个 Dataflow 图至少要有一个数据源和一个数据汇。 上图中的 Dataflow 图被称作 逻辑图因为它们表达了高层视角下的计算逻辑。为了执行 Dataflow 程序需要将逻辑图转化为 物理 Dataflow 图。后者会指定程序的执行细节例如当我们使用分布式处理引擎时每个算子可能会在不同物理机器上运行多个并行任务。在逻辑 Dataflow 图中顶点代表算子。在物理 Dataflow 图中顶点代表任务。如下图所示“抽取主题标签” 和 “计数” 算子都包含 2 个并行算子任务每个任务负责计算一部分输入数据。 1.2 数据并行和任务并行 Dataflow 图的并行性可以通过多种方式加以利用。 首先你可以将输入数据分组让同一操作的多个任务并行执行在不同数据子集上这种并行称为 数据并行。数据并行非常有用因为它能够将计算负载分配到多个节点上从而允许处理大规模的数据。 再者你可以让不同算子的任务基于相同或不同的数据并行计算这种并行称为任务并行。通过任务并行可以更好的利用集群的计算资源。 1.3 数据交换策略 数据交换策略定义了如何将数据项分配给物理 Dataflow 图中的不同任务。这些策略可以由执行引擎根据算子的语义自动选择也可以由 Dataflow 编程人员显示指定。常见的数据交换策略如下图所示转发、广播、基于键值、随机。 2.并行流处理 在此我们给出数据流的定义数据流是一个可能无限的事件序列。数据流中的事件可以表示 监控数据、传感器测量值、信用卡交易、气象站观测数据、在线用户交互以及 网络搜索 等。 2.1 延迟与吞吐 对于批处理应用而言我们通常会关心作业的总执行时间或者说处理引擎读取输入、执行计算、写回结果总共需要多长时间。但由于流式应用会持续执行且输入可能是无限的所以在数据流处理中没有总执行时间的概念。取而代之的是流式应用需要针对到来数据 尽可能快的计算结果同时还要应对 很高的事件接入速率我们用 延迟 和 吞吐 来表示这两方面的性能需求。 2.1.1 延迟 延迟表示处理一个事件所需的时间本质上它是从接收事件到在输出中观察到事件处理效果的时间间隔。 在流处理中延迟是以时间片例如毫秒为单位测量的。根据应用的不同你可能会关注平均延迟最大延迟或延迟的百分位数值。 保证低延迟对很多流式应用例如诈骗识别、系统告警、网络监测以及遵循服务级别协议的服务而言至关重要。低延迟是流处理的一个关键特性它滋生出了所谓的实时应用。 2.1.2 吞吐 吞吐是用来衡量系统处理能力处理速率的指标它告诉我们系统 每单位时间可以处理多少事件。 吞吐的衡量方式是计算每个单位时间的事件或操作数。但要注意处理速率取决于数据到来速率因此吞吐低不一定意味着性能差。在流处理系统中你通常希望系统有能力应对以最大期望速率到来的事件。换言之首要的关注点是确定 峰值吞吐即系统满负载时的性能上限。 2.1.3 延迟与吞吐 延迟和吞吐并非相互独立的指标。如果事件在数据处理管道中传输时间太久我们将难以确保高吞吐同样如果系统性能不足事件很容易堆积缓冲必须等待一段时间才能处理。然而通过并行处理多条数据流可以在处理更多事件的同时降低延迟。 2.2 数据流上的操作 流处理引擎通常会提供一系列内置操作来实现数据流的获取、转换以及输出。这些算子可以组合生成 Dataflow 处理图从而实现流式应用所需的逻辑。 这些操作既可以是 无状态stateless的也可以是 有状态stateful的。无状态的操作不会维持内部状态即处理事件时无需依赖已处理过的事件也不保存历史数据。由于事件处理互不影响且与事件带来的时间无关无状态的操作很容易并行化。此外如果发生故障无状态的算子可以很容易地重启并从中断处继续工作。相反有状态算子可能需要维护之前接收的事件信息。它们的状态会根据传入的事件更新并用于未来事件的处理逻辑中。有状态的流处理应用在并行化和容错方面会更具挑战性因为它们需要对状态进行高效划分并且在出错时需进行可靠的故障恢复。 2.2.1 数据接入和数据输出 数据接入和数据输出操作允许流处理引擎和外部系统进行通信。数据接入操作是从外部数据源获取原始数据并将其转换成适合后续处理的格式。实现数据接入操作逻辑的算子称为 数据源。数据源可以从 TCP 套接字、文件、Kafka 主题或传感器数据接口中获取数据。数据输出操作是将数据嗯以适合外部系统使用的格式输出。负责数据输出的算子称为 数据汇其写入的目标可以是文件、数据库、消息队列或监控接口等。 2.2.2 转换操作 转换操作是一类 只过一次 的操作它们会分别处理每个事件。这些操作逐个读取事件对其应用某些转换并产生一条新的输出流。转换逻辑可以是算子内置的也可以由用户自定义函数提供。 算子既可以同时接收多个输入流或产生多条输出流也可以通过单流分割或合并多条流来改变 Dataflow 图的结构。 2.2.3 滚动聚合 滚动聚合如求和、求最小值和求最大值会根据每个到来的事件持续更新结果。聚合操作都是有状态的它们通过将新到来的事件合并到已有状态来生成更新后的聚合值。注意为了更有效的合并事件和当前状态并生成单个结果聚合函数必须满足 可结合 及 可交换 的条件否则算子就要存储整个流的历史记录。下图展示了一个求最小值的滚动聚合其算子会维护当前的最小值并根据每个到来的事件去更新这个值。 2.2.4 窗口操作 转换操作和滚动聚合每次处理一个事件来产生输出并可能更新状态。然而有些操作必须收集并缓冲记录才能计算结果。例如流式 Join 或像是求中位数的整体聚合holistic aggregate。为了在无限数据流上高效地执行这些操作必须对操作所维持的数据量加以限制。窗口操作 支持这项功能。 除了产生单个有用的结果窗口操作还支持在数据流上完成一些具有切实语义价值的查询。你已经了解滚动聚合是如何将整条历史流压缩成一个聚合值以及如何针对每个事件在极低延迟内产生结果。该操作对某些应用而言是可行的但如果你只对最新的那部分数据感兴趣该怎么办呢 窗口操作会持续创建一些称为 桶 的 有限事件集合并允许我们基于这些有限集进行计算。事件通常会根据其时间或其他数据属性分配到不同桶中。为了准确定义窗口算子语义我们需要决定事件如何分配到桶中以及窗口用怎样的频率产生结果。窗口的行为是由一系列策略定义的这些窗口策略决定了 什么时间创建桶事件如何分配到桶中 以及 桶内数据什么时间参与计算。 其中参与计算的决策会根据触发条件判定当触发条件满足时桶内数据会发送给一个 计算函数evolution function由它来对桶中的元素应用计算逻辑。这些计算函数可以是某些聚合例如求和求最小值也可以是一些直接作用于桶内收集元素的自定义操作。策略的指定可以基于时间例如最近 5 秒钟接收的事件、数量例如最新 100 个事件或其他数据属性。 2.2.4.1 滚动窗口 滚动窗口tumbling window将事件分配到长度固定且互不重叠的桶中在窗口边界通过后所有事件会发送给计算函数进行处理。 基于数量的滚动窗口 定义了在触发计算器需要集齐多少条事件。 基于时间的滚动窗口 定义了在桶中缓冲数据的时间间隔。 2.2.4.2 滑动窗口 滑动窗口sliding window将事件分配到大小固定且允许相互重叠的桶中这意味着每个事件可能会同时属于多个桶。我们通过指定长度fixed length和滑动间隔slide来定义滑动窗口。滑动间隔决定每隔多久生成一个新的桶。 上图为长度为 4 个事件、滑动间隔为 3 个事件的基于数量的滑动窗口。 2.2.4.3 会话窗口 会话窗口session window在一些常见的真实场景中非常有用这些场景既不适合用滚动窗口也不适合用滑动窗口。假设有一个应用要在线分析用户行为在该应用中我们要把事件按照用户的同一活动或会话来源进行分组。会话由发生在相邻时间内的一系列事件外加一段非活动时间组成。例如用户浏览一连串新闻文章的交互过程可以看做一个会话。由于会话长度并非预先定义好而是和实际数据有关所以无论是滚动还是滑动窗口都无法用于该场景。而我们需要一个窗口操作能将属于同一会话事件分配到相同桶中。会话窗口根据会话间隔session gap将事件分为不同的会话该间隔值定义了绘画在关闭前的非活动时间长度。 2.2.4.4 小结 迄今为止你所见到的所有窗口都是基于 全局流数据 的窗口。但在实际应用中你可能会想将数据流划分为多条逻辑流并定义一些并行窗口。例如如果你在收集来自不同传感器的测量值那么可能会想在应用窗口计算器按照传感器 ID 对数据流进行划分。并行窗口中每个数据分区所应用的窗口策略都相互独立。下图展示了一个按事件颜色划分、基于数量 2 的并行滚动窗口。 窗口操作与流处理中两个核心概念密切相关时间语义time semantics和 状态管理state management。时间可能是流处理中最重要的一个方面。尽管低延迟是流处理中一个很吸引人的特性但流处理的真正价值远不止提供快速分析。 现实世界的系统、网络及通信信道往往充斥着缺陷因此流数据通常都会有所延迟或者以乱序到达。了解如何在这种情况下提供精准确定的结果就变得至关重要。此外处理实时事件的流处理应用还应以相同的方式处理历史事件这样才能支持离线分析甚至时间旅行式分析time travel analysis。当然如果你的系统无法在故障时保护状态那一切都是空谈。 至今为止你见到的所有窗口类型都要在生成结果前缓冲数据。实际上如果你想在流式应用中计算任何有意义的结果即便是简单的计数都需要维护状态。考虑到流式应用可能需要整日、甚至长年累月的运行因此必须保证出错时其状态能进行可靠的恢复并且即使系统发生故障系统也能提供准确的结果。后续我们将深入研究流处理中的时间以及发生故障时和状态保障相关的概念。
http://www.pierceye.com/news/70481/

相关文章:

  • 企业做国际站哪个网站好淘宝做图片的网站
  • 微企业网站模板免费中国最新军事动态中国最新军事新闻
  • 营销型网站欣赏做网站宣传图片
  • 网站里面嵌入的地图是怎么做的网站手机版跳转 seo
  • wordpress个人版搜索引擎关键词排名优化
  • 中国建设银行演示网站oneup wordpress
  • 广东建设信息网是什么网站wordpress 微信绑定域名
  • 哪里有做网站平台室内设计师培训机构
  • 网站建立计划书网络运营推广平台
  • 嘉兴企业网站模板建站dz网站地图怎么做
  • 江苏营销型网站策划网站推广一般多少钱
  • 网站建设报价怎么差别那么大黄页网大全免费软件
  • 一般做网站销售提成建设校园网站必要性
  • 临沂网站建设兼职网站开发代理报价表
  • 濮阳网站建设用别人公司名字做网站违法么
  • 网站域名注册的相关证书证明文件企业网上品牌推广
  • 成都小程序开发平台seo刷排名软件
  • 临清网站开发wordpress只导出设置
  • 网站的内链优化怎样做湿地公园网站开发招标
  • 网站建设推广工资wordpress页面输入密码
  • 网站开发规划北京seo推广
  • 一级门户网站建设费用网站建设术语名词
  • “一个”网站谷歌云做网站服务器
  • 做网站策划计划书广东商城网站建设公司
  • 网站风格分析windows搭建php网站
  • ai写作网站杭州pc网站建设方案
  • 国内高端网站深圳福田区
  • 优秀网站建设软件技术的就业方向
  • 服务器做网站用什么系统北京移动端网站公司
  • 南京网站排名小企业生产管理软件