开源数据流处理

DataPipeline丨构建实时数据集成平台时,在技术选型上的考量点 随着企业应用复杂性的上升和微服务架构的流行,数据正变得越来越以应用为中心。 服务之间仅在必要时以接口或者消息队列方式进行数据交互,从而避免了构建单一数据库集群来支撑不断增长的业务需要。以应用为中心的数据持久化架构,在带来可伸缩性好处的同时,也给数据的融合计算带来了障碍。 由于数据散落在不同的数据库、消息队列、文件系统中,计算平台如果直接访问这些数据,会遇到可访问性和数据传输延迟等问题。在一些场景... 阅读详情

  随着公司规模增长,他们的工作流更加复杂,包含更多子处理过程以及带有复杂的依赖关系,这将导致更多监控、问题以及运维工作。如果没有一个清晰的数据血缘关系,可能会引起引用链问题和操作元数据丢失。这就是为什么DAGs、数据流和工作流管理器等产生的原因。

  复杂的工作流可以通过DAGs来展现。DAGs就是信息沿着指定的方向在不通节点之间传递的一张图,但信息在图中流传不会回到原点。构建DAGs过程的就是数据流,或从一个进程作为输入并输出作为下一个进程输入的序列化进程。

  构建这些管道流式复杂的。幸运的是,目前存在几款开源的流管理器来辅助处理这些问题,并允许开发者将注意力聚焦在单独的任务和任务依赖上来。为了帮助需求者从许多工作流管理器中选择合适的,下面我们进行了一些相关的讨论。

Luigi

  Luigi是Spotify与2011开发的一个Python包,主要是用来构建–像产生推荐和排行榜任务–这样的需要多任务复杂管道。目前组件的主要使用者,包括 Foursquare, Stripe, the Wall Street Journal, Groupon,以及其他主要商业公司。它内嵌Hadoop支持,但不像其他类似产品OOZIE和Azkaban,它们都是为了支持Hadoop而开发的,Luigi的理念就是能够使任务事情尽可能普适性。Luigi可以扩展到其他类型的任务,如Hive查询,使用Scala或Python开发的SparkJob等等。它是面向编码控制的,而不是基于GUI或声明式的,能够完美兼容Python中的所有包(包括依赖路径)。Luigi的界面支持搜索、过滤或监控每个任务的状态信息。用户也可以查看工作流的依赖是否完成,或还没有运行等状态。

特性:

  • 允许有需要的任务并行运行
  • 通用任务模版的工具箱
  • 支持在Hadoop\Hive\Pig等的基于Python的MR任务
  • 嵌入针对Hadoop分布式文件系统和本地文件系统的抽象文件系统,这样能够保证所有系统的原子性,防止任务崩困时数据缺失

Azkaban

  Azkaban是另外一款开源工作流管理器,它是由LinkedIn给Hadoop的实时批处理而开发的。不像Luigi,它是基于Java、调度是通过WEB浏览器来完成的。它主要包括AzkabanWebServer–主要作为UI界面和处理工程管理、授权、调度和监控,MySQL数据库作为元数据存储,以及AzkabanExecutorServer(以前WEB服务和executor服务器是合并在一起,但随着Azkaban的发展,它分裂为两部分来帮助用户滚动更新信息)。当前最新为Azkaban3.0版本,包括三个模式:单服务器的使用模式,两服务器的生产环境,以及分布式多执行节点模式。Azkaban设计之初就将易用性作为首要目标。例如,它包括非常易用、极其优秀展示操作功能的UI界面。

特点:

  • 兼容任何Hadoop版本
  • 简单的WEB界面和Http工作任务上传
  • 每个Hadoop生态的模块与插件
  • 用户行为、认证和授权追踪
  • 提供每个工程的独立工作空间
  • 提供SLAs、任务失败和成功的邮件提醒
  • 运行用户重启失败任务

Oozie

  跟Azkaban一样,OOZIE也是一款Java开发、基于Hadoop系统的开源工作流调度系统。然后不同于Azkaban的易用性,OOZIE更偏向于灵活性和创建复杂工作流。然而,Azkaban只能通过WEB提供基于时间的调度系统。OOZIE的Coordinator提供基于通过时间、时间或在数据不可预测情境下数据有效性的触发器,并运行用户通过命令行、Java API,以及基于WEB浏览器的GUI界面。OOZIE同样支持基于XML属性文件配置,而Azkaban是基于Java的。最后,Azkaban将所有的工作流运行数据保存在内存中,而OOZIE使用SQL数据库保存,内存只用来保存状态事务。

  OOZIE工作流是通过DAGs来优化运行的,分为三种节点:控制节点、关联节点和动作节点。控制节点定义了任务何时启动与停止、流向决策、任务分支等功能,关联节点依赖执行路径,动作节点触发任务运行。每个任务提供一个唯一的URL,任务结束时会响应该URL。如果URL没有被通知,OOZIE会判断任务是否已经完成。

特点:

  • 提供多种支持,包括MapReduce,Pig,Hive,Sqoop,和Distcp,以及系统特殊任务
  • 可伸缩、可靠、可扩展
  • 唯一标记工作任务,能够配置为并发运行
  • 允许用户对任务的KILL、Suspend,或Resume
  • 高可用
  • 多任务和协调者[coordinator]能够通过OOZIE Bundle打包和管理

Airflow

  Airflow是Airbnb与2015年开发的工具,主要用来编辑、调度DAGs及监控工作流。它主要面向编程环境的基于编辑的工具,这方面与Luigi类似。它是基于Python的DAGs工作流编码的工具,能够保证尽量协调性与易于维护、版本控制与测试。它的主要架构包括源码控制的任务定义、命令行接口–用户可以测试、运行和描述DAGs的部分环节、查看依赖/进度/元数据和日志的WEB应用、元数据仓储、运行分布式任务实例的工作节点、调度进程–触发任务运行。

特点:

  • 丰富的CLI和UI接口:允许用户查看依赖、进度、日志、相关代码
  • 模块化、可伸缩、高可扩展
  • 参数化脚本:内嵌Jinja模版引擎
  • 提供分析:基于搜索排序和session连接信息来追踪用户的点击流和时间花费
  • 能够与Hive、Presto、MySQL、HDFS、Postres或S3交互

翻译文章

Open Source Data Pipeline – Luigi vs Azkaban vs Oozie vs Airflow

宜信开源|Wormhole 大数据流式处理平台之设计思想 导读:互联网的迅猛发展使得数据不再昂贵,而如何从数据中更快速获取价值变得日益重要,因此,数据实时化成为了一个大趋势。越来越多的业务场景需要实时分析,以极低的延迟来分析实时数据并给出分析结果,从而提高业务效率,带来更高价值。流式处理作为实时处理的一种重要手段,正在因数据实时化的发展而蓬勃发展。本文是敏捷大数据(Agile BigData)背景下的实时流式处理平台Wormhole的开篇介绍:Wormh... 阅读详情

相关推荐

开源数字漩涡引擎OpenVort:实时数据流处理与可视化框架解析

实时数据流处理是现代数据架构中的核心技术,它通过连续处理无界数据序列,实现对业务状态的即时洞察。其核心原理在于将数据视为持续流动的事件流,利用窗口、聚合与状态管理等机制,在数据到达时进行低延迟计算。这项技术的核心价值在于能够打破传统批处理的延迟瓶颈,为实时监控、风险预警和交互式分析提供动力。在物联网设备监控、金融交易风控和运维观测等场景中,实时处理能力至关重要。本文聚焦的开源项目OpenVort,正是这一领域的实践典范,它作为一个高性能的“数字漩涡”引擎,深度融合了流处理与可视化技术。该引擎通过分层的流处理

weixin_42545292的博客 369

探索数据流之美:DataFlow开源项目深度解析

探索数据流之美:DataFlow开源项目深度解析 在软件设计与架构的世界里,清晰地表达数据流动与系统交互至关重要。今天,我们有幸向您推荐一个强大而优雅的工具——DataFlow,它以简洁的声明式标记语言,让绘制数据流图和序列图变得前所未有的简单。 项目介绍 DataFlow是一个开源项目,旨在简化数据流程图(DFD)和序列图的创建过程。通过一种直观易懂的语言,开发者和设计师们能够快速地将复杂的数据...

gitblog_00031的博客 1412

Apache Arrow —— 用于构建分布式、可扩展、实时数据流处理系统的开源框架

作者:禅与计算机程序设计艺术 arrow-schema: Understanding the Scalable Data Model of Apache Arrow 引言 1.1. 背景介绍

AI天才研究院 2698

推荐开源项目:Conduit —— 流数据处理框架的典范

推荐开源项目:Conduit —— 流数据处理框架的典范 在现代软件开发中,高效地处理大规模数据流是必不可少的能力之一。这就是Conduit这个强大的框架能大展拳脚的地方。它提供了一种统一的方式来处理各种类型的数据源,并以确定的资源管理确保了性能和稳定性。 项目介绍 Conduit是一个用于处理流式数据的框架,无论你的任务是读取文件中的原始字节、解析HTTP响应体的CSV,还是遍历目录树中的所有文...

gitblog_00074的博客 632

【项目实战】Apache Flink,一个开源的实时计算的流处理框架,专为分布式、高性能、实时和准确的大规模数据流处理而设计

Apache Flink 是一个开源的流处理框架,专为分布式、高性能、实时和准确的大规模数据流处理而设计。Flink 支持有状态计算,并且可以在所有常见的集群环境中运行,它能够自动进行水平扩展并恢复失败。: 用于连续数据流的处理。: 用于批处理任务(在有限的数据集上)。: 用于识别事件序列中的模式。

奶爸的编程之路,也就一周冷个三天 192

MOA - Massive Online Analysis:实时数据流处理的开源框架

# 1.1 MOA项目的起源与定位MOA(Massive Online Analysis)是一个针对在线分析学习的开源框架,适用于大规模数据流的机器学习任务。MOA的出现源于对流数据处理和实时学习算法日益增长的需求,其项目目标是提供一个高效、易于使用的平台,以便研究者和开发者能够快速实现和测试新的算法。由于其开源的特性,MOA项目吸引了全球范围内的贡献者,共同推动在线分析学习领域的发展。## 1.2 MOA的关键特性MOA具有几个关键特性,使其在处理大数据流时表现突出。

weixin_33173126的博客 1190

数据流(Dataflow)开源项目快速入门指南

数据流(Dataflow)开源项目快速入门指南 项目概述 数据流(Dataflow),由开发者asg017维护在GitHub上,是一个实验性的自托管Observable笔记本编辑器。它支持FileAttachments、Secrets、自定义标准库等功能,提供了比原生Observable notebook更丰富的开发体验。此项目遵循MIT许可证,并依赖于ObservableHQ的相关ISC许可库。...

gitblog_00009的博客 843

【新手必看】蓝牙的HOGP和HID、GATT有什么区别和联系

让新手宏观了解蓝牙HOGP、HID、GATT这三个协议的区别和联系

qq_51976334的博客 1565

探秘开源项目 `rwa`: 简单而强大的实时数据流处理库

探秘开源项目 rwa: 简单而强大的实时数据流处理库 去发现同类优质开源项目:https://gitcode.com/ 该项目[[链接]][1]是一个由开发者 [jostmey][2] 创建并维护的轻量级、高性能的实时数据流处理库,名为 rwa。它的目标是为 Python 开发者提供一个简单易用的工具,用于处理不断变化的数据流,例如传感器读数、网络流量或者任何其他形式的实时数据。 技术分析 rwa...

gitblog_00026的博客 695

sentaurus学习笔记(HFET_pGate_GaN仿真)(九)

`(sdedr:define-constant-profile-placement "Ohmic.s" "Ohmic" "Pl.ohmic.s" 0.002)`这一行将`"Ohmic"`掺杂剖面放置在`"Pl.ohmic.s"`参考评估窗口中,同样`0.002`可能表示掺杂剖面在窗口中的偏移量或其他参数。欧姆接触是半导体器件中的一种低阻抗电气接触,通常需要高掺杂来减少接触电阻并提高器件性能。通过这些步骤,SDE能够为器件的源极和漏极区域设置高掺杂的欧姆接触,这对于确保器件的高性能和低接触电阻至关重要。

qq_52640792的博客 1382

第17篇:深入解析OpenEuler 24.03系统中的逻辑卷管理(LVM)

OpenEuler 24.03系统中的逻辑卷管理(LVM)提供了灵活的存储管理方案,通过在物理存储与文件系统间构建抽象层实现动态资源分配。

专注于系统运维、数据库、DevOps、虚拟化技术、docker、kubernetes、等云原生技术。 1689

Grox:基于Java的开源数据流处理框架

Grox:基于Java的开源数据流处理框架 1. 项目基础介绍 GroceriesRx(简称Grox)是一个由groupon公司开源的数据流处理框架,主要用于构建高性能、可扩展的数据处理应用程序。它使用Java语言开发,能够帮助开发者在处理大规模数据流时,实现高效的数据传输、转换和聚合。Grox以其轻量级、易用性和强大的功能特性,在开源数据处理框架中占有一席之地。 2. 项目核心功能 数据流处理...

gitblog_00966的博客 1298

用SPSS做信效度分析

对问卷进行Cronbach’s Alpha信度检验。如果此值高于0.8,则说明信度高;如果此值介于0.7-0.8之间,则说明信度较好;如果此值介于0.6~0.7,则说明信度可接受;如果此值小于0.6,说明信度不佳。下面利用SPSS进行分析,点击分析–标度–可靠性分析选项,选中所要分析的问卷数据或题目。得到结果,我们要看这个有用的结果,当克隆巴赫Alpha系数(也可以看标准化后的)大于0.8时候,说明问卷信度较高。

小高~的博客 1万+

Storm是一个分布式实时计算系统,由Twitter开源,它被设计用于处理无界数据流,并能够可靠地处理大量的数据

Storm的拓扑结构是一个等待调用信息的分布函数,当它收到一条调用信息后,会对查询进行计算,并返回查询结果。然后,拓扑中的“DRPC Spout”会接收从DRPC服务器传来的远程调用流,从而执行该函数。对于每一次函数调用,Storm的拓扑结构将函数的参数视为输入流,并将函数运行的结果作为输出流。事务性消息处理:这是Storm的一个高级特性,允许你在消息的分布式处理中保持精确的事务语义。Storm的分布式远程过程调用(DRPC)功能是一个非常强大的工具,它允许你在Storm集群上并行执行复杂的查询和计算。

[Blog][Domain] programb.blog.youkuaiyun.com 652

Modbus RTU/TCP协议栈手写实现:主从站设计、功能码、CRC、异常响应

本文从协议栈架构、帧结构、功能码、CRC校验、异常响应、主从站设计等多个维度,完整阐述了Modbus RTU/TCP协议栈的手写实现方案。帧间隔机制是RTU的核心,T3.5超时检测决定了帧边界识别CRC16查表法以512字节ROM换取8倍性能提升,适合嵌入式功能码路由表实现可扩展的代码架构,便于新增功能异常响应机制保障协议健壮性,每个错误都有明确反馈Modbus TCP在RTU基础上增加MBAP头,实现以太网扩展多核RTOS环境下的并发访问与线程安全RS-485总线的电气隔离与浪涌保护。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 1万+

漏洞挖掘之工具配置

本文主要讲解burp工具的插件安装。

qq_64775230的博客 3273

高效稳定的双路串口数据流处理工具:基于Qt多线程机制的开源项目

高效稳定的双路串口数据流处理工具:基于Qt多线程机制的开源项目 【下载地址】利用Qt多线程机制实现双路串口数据流的接收和发送附工程源代码 本项目基于Qt框架,利用多线程机制实现了双路串口数据流的接收和发送。每一路串口数据处理均在独立的子线程中进行,确保了数据处理的效率和稳定性。项目附带完整的工程源代码,方便开发者学习和参...

gitblog_06560的博客 446

python利用IQR方法与3σ方法进行异常值处理(含代码)

python利用IQR方法进行异常值处理

weixin_46713695的博客 2031

宜信开源的Wormhole流处理平台,让大数据流式开发更轻量、更便捷、更可靠

速点链接加入高手战队:http://www.dajiangtai.com/course/112.do Wormhole是什么 Wormhole 面向大数据流式处理项目的开发管理运维人员,致力于提供统一抽象的概念体系,直观可视化的操作界面,简单流畅的配置管理流程,基于SQL 即可完成的业务逻辑开发方式,并且屏蔽了流式处理的底层技术细节,极大的降低了数据项目管理运维门槛,使得大数据流式处理项...

大数据研习社 1305

深度强化学习在机器人控制中的应用

非常感谢您提供如此详细的任务要求和约束条件。作为一位世界级的人工智能专家和计算机领域大师,我将全身心投入到这篇技术博客的撰写中。 深度强化学习在机器人控制中的应用 1. 背景介绍 近年来,随着人工智能技术的飞速发展,深度学习和强化学习在各个领域都得到了广泛应用,尤其是在机器人

AI天才研究院 1323

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【亲测免费】 推荐开源项目:GuzzleStreams - 数据流处理的优雅解决方案

`GuzzleStreams` 是一个轻量级的库,为数据流(data streams)提供了一个简洁的抽象层。这个库被广泛应用于著名的PHP HTTP客户端库 `Guzzle 5` 中,并且与正在开发中的PSR-7标准兼容。通过这个库,开发者可以更方便地处理HTTP请求和响应过程中的大块数据。 ## 2、项目技术分析 `GuzzleStreams` 主要提供了两种核心概念:可读流(Readab

gitblog_00024的博客 473

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

实时数据流处理 | 端到端数据工程的开源神器:Realtime Data Streaming

实时数据流处理 | 端到端数据工程的开源神器:Realtime Data Streaming 在当今大数据时代,构建高效的数据管道和实时处理系统是每个企业的必修课。今天,我要向大家强烈推荐一款名为“Realtime Data Streaming”的开源项目——一个全面、强大且易于部署的数据工程解决方案,它不仅包含了从数据采集到存储的全过程,还涵盖了大量行业领先的工具和技术。 一、项目简介 这款项目...

gitblog_00010的博客 1205

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

开源项目实时直播数据流处理:基于WebSocket的高效采集方案

你是否曾为获取抖音直播间实时数据而烦恼?传统轮询方式延迟高、资源消耗大,而抖音等平台采用复杂的WebSocket协议和动态加密机制,让数据采集变得异常困难。今天,我们将深入剖析一个开源项目,它通过创新的技术方案,实现了抖音直播间弹幕、礼物、用户进出等数据的实时高效采集。 ## 🔍 实时数据采集的技术挑战 在直播电商和内容分析领域,实时数据的重要性不言而喻。传统的HTTP轮询方式每分钟只能获取

gitblog_00281的博客 491

RecordStream: 实时数据流处理的利器

RecordStream: 实时数据流处理的利器 如果你在寻找一种高效、易用的数据流处理工具,那么RecordStream可能正是你需要的。 什么是RecordStream? RecordStream是一个用于实时数据流处理的开源库。它可以让你轻松地对实时数据进行过滤、转换和聚合操作,并且可以与其他系统无缝集成。 RecordStream能用来做什么? RecordStream可以用于各种场景下的...

gitblog_00009的博客 539

EverythingApacheNiFi:开源数据流自动化利器

EverythingApacheNiFi:开源数据流自动化利器 项目介绍 Apache NiFi(National Institute of Standards and Technology,国家标准化与技术研究院)是一个开源项目,旨在通过提供一个易于使用的、可靠且安全的系统来管理数据流,简化数据流的自动化。它是由Apache软件基金会管理的,得到了广泛的认可和使用,被许多企业和组织用来管理他们的...

gitblog_00152的博客 789

eventkit:异步数据流处理的利器

eventkit:异步数据流处理的利器 在现代软件开发中,处理异步数据流是一个常见的挑战。eventkit 是一个功能强大的开源库,旨在帮助开发者轻松定义、组合和观察异步数据流。 项目介绍 eventkit 提供了一个简单、声明式的 API,灵感来源于 RxJS 和 Node.js streams。它不仅支持 TypeScript,还具有一流的类型推断功能。eventkit 的设计宗旨是让开发者能...

gitblog_00434的博客 876
上一篇: EasyPR-Java新能源车牌识别
下一篇: Ganglia-Spark/Kafka编译与安装总结
大数据运维
博客等级 码龄18年 26粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值