卡夫卡分布式消息系统综述 (上)

我原本打算将这篇文章命名为 “设置卡夫卡消息队列群集”。但是, 与 rabbitmq 不同, 卡夫卡不实现消息队列协议 (例如, 高级消息队列协议 (amqp))。amqp 为统一的消息服务提供高级队列协议。它是应用层协议的开放标准, 专为面向消息的中间件而设计。因此, 尽管卡夫卡的使用模式更像是一个队列, 但它仍然不是严格意义上的消息队列。因此, 我决定为本文提供一个更通用的名称: “卡夫卡分布式消息系统概述”。 卡夫卡介绍 linkedin 是第一家使用 java 和 sca 语言开发卡夫卡的公司。其源代码于2011年开源, 2012年成为 apache 软件基金会的顶级项目。2014年, 卡夫卡的几位创始人成立了一家名为 “康鲁利” 的新公司, 专门研究卡夫卡。 卡夫卡项目的目的是为实时数据处理提供一个统一、高吞吐量、低延迟的系统平台。卡夫卡履行以下三项职能: 发布和订阅:卡夫卡发布与其他消息系统类似的订阅流数据。 加工方式:卡夫卡编译流处理应用程序并响应实时事件。 储存方式:卡夫卡安全地将流数据存储在分布式容错群集中。 留言系统 卡夫卡是一个信息系统。让我们更多地了解消息系统及其解决的问题。以当前流行的微服务体系结构为例。假设 web 端有三个面向终端的 web 服务 (微信官方帐户、移动应用程序和浏览器) … Read More

Featured Post

顶级数据科学工具

无论你是在盖房子还是在财富500强企业, 拥有合适的工具都是必不可少的。今天的企业正在进行一种不同的建筑, 需要一套不同的工具。 随着各个领域的公司将注意力转向构建数据分析战略, 以在以数字为中心的全球环境中保持竞争力, 他们将需要各种能够进行切片、切割和运营的数据科学工具以各种方式提供企业数据。精心规划和执行的数据战略将使您的企业能够更快、更准确地预测这些决策的结果, 从而做出更关键的业务决策。 但知道要使用哪些工具可能是一个真正的难题。强大的数据科学堆栈将至少满足现代数据分析的期望, 或者补充您在员工身上的现有专业知识, 或者完全支持它。 幸运的是, 面向数据的解决方案开发人员一直在构建新功能, 以满足不断增长和不断变化的分析需求。通常, 它可以成功地在市场上开辟适当的领域, 使数据分析更快、更深入, 更方便地面向各种企业。这种数据科学学科的持续愿景和创新有利于商业世界, 现在几乎完全依赖数据来推动一切, 从最小的日常改进到最具挑衅性和前瞻性的想法。 以下是您需要了解的有关可用的最佳数据科学工具的信息, 这些工具可帮助您收集、存储、分析和可视化数据, 并纳入机器学习的功能和可能性。 数据收集工具 收集可转换为丰富分析的质量数据是每个数据策略的起点。正确的数据收集工具可以减少错误和重复, 确保更高的准确性, 并保持来自所有来源的数据的完整性。 以下数据收集工具脱颖而出: gospotcheck ibm 数据通信 莫根达 八边 海兰的 onbase 数据分析工具 在数据中查找意义并从中提取价值是所有数据分析的核心。使您能够轻松理解数据并从中获得真正意义的工具可帮助您做出改变游戏规则的业务决策, 从而影响收入、竞争力、创新、客户体验和运营效率。 查看这些领先的数据分析工具和平台: alteryx 多米诺数据实验室 informatica … Read More

Featured Post

什么是数据蔓延?

想象一下, 你需要完成你的税收, 但你所有的相关文件都隐藏在抽屉里, 藏在壁橱里, 塞在沙发坐垫下。现在想象一下, 你在这些地方有多个表格副本, 有的用希腊文写, 有的用英语和西班牙语写。当事情的现状发生时, 你将如何纳税, 或者为此打扫你的房子?不幸的是, 这是一个开始困扰世界各地公司的问题。这是数据的蔓延。 数据扩展是指企业每天产生的大量和种类的数据。随着越来越多的操作系统、数据仓库、各种 byod (自带设备) 设备以及企业和移动应用程序, 数据的激增正成为一个问题, 这也就不足为奇了。 数据扩展的问题有两个方面: 从数据中获取价值。一个问题是数据分布在许多数据存储区以及不同的设备和服务器上。这使得从数据中获取价值变得非常困难。当您的数据可能存储在多个位置, 或者在不同的位置复制, 并且格式不同时, 如何执行全面的分析?你将如何在一个地方收集所有这些信息?你将如何把你的数据变成类似的格式, 这样你就可以比较苹果和苹果? 保安。数据扩展也会产生安全问题。基于 biod 在劳动力中激增意味着终结点必须得到保护, 即使数据通过一系列设备离开您的网络也是如此。但是, 由不同部门维护的服务器和数据存储区怎么办?这些系统是否安全?它们是否都遵循相同的合规性要求?将数据从一个系统移动到另一个系统时, 是否删除了个人身份信息 (pii)?当数据在系统之间共享时, 是否对其进行加密?这些都是数据扩展放大的安全问题。 为什么会发生数据蔓延? 数据扩展的发生有很多原因。 员工可以携带一系列设备来工作, 并将这些设备用于工作目的。 有大量的新数据源可从许多地方, 如 json 文件, 新的 … Read More

Featured Post

有效数据湖摄入的5个最佳实践

在技术格局不断波动和客户市场政策不断波动的世界里, 数据已成为最大的业务资产之一。它加强和提高了一个组织在竞争中取得领先优势的能力。因此, 它是一个关键的价值创造者, 其管理、定期维护和存储对于规划未来持续成功的企业来说变得很重要。多年来的技术进步在数据创建和存储方面具有优势, 但它们始终不足以实现高效的数据管理。有时, 企业难以利用大量信息为自己谋福利。这就是数据湖可以提供帮助的地方。 数据湖允许企业持有、管理和利用不同的数据, 即结构化和非结构化的数据, 以及外部和内部数据, 使他们受益。但现实是这样的–一些数据湖由于其复杂性而无法达到它们的目的。这种复杂性可能是由几个因素引起的, 其中包括不正确的数据摄取。构建健全的数据接收策略是企业数据湖取得成功的关键之一。这篇文章概述了有效的数据湖摄入的最佳做法。 解决您的主要业务问题: 是否有企业仅仅为了它而构建数据湖?是的, 有很多。那些为解决业务问题而构建数据湖的人很可能会比非规划人员成功。这似乎是一个基本的提示, 但也有一些 it 团队可能正在认真考虑将他们的数据湖转化为科学项目。他们认为这将为他们未来的目的服务, 这不是真的。重要的是要继续致力于一个问题, 并找到它的答案–如果构建一个数据湖是正确的方法, 那么伟大的! 自动接收数据:通常, 数据接收涉及三个步骤-数据提取、数据转换和数据加载。随着数据量的增长, 三步过程变得很复杂, 需要更多的时间来完成。早些时候, 数据接收是手动完成的, 但是, 现在它是自动化的。这是因为公司依赖于几个数字源, 数据以各种格式提供247格式。对于公司来说, 手动将传入数据转换为单一的标准化格式是一项艰巨的任务。这就是为什么更多的公司正在使用各种自动化数据摄取工具来有效地接收数据的原因。许多企业使用第三方数据摄取工具或自己的程序来自动接收数据湖。这些工具在一定程度上确保了成功, 然而, 在失败的情况下, 它们无法自行进行根本原因分析。因此, 选择一个平台, 不仅可以自动接收数据进入数据湖, 而且还可以执行其他任务, 如对传入数据进行质量检查、管理数据生命周期和自动化元数据应用程序, 从而帮助您的团队, 这一点非常重要以确定根本原因分析。 选择敏捷数据摄入平台:再次, 想想, … Read More

Featured Post

tibco 收购管弦乐队网络, 数据管理软件制造商

在12月4日的一份声明中, tibco 软件公司宣布收购 2000年在巴黎成立的数据管理解决方案的领导者乐队网络。 tibco 欢迎乐团网络的家庭 (资料来源)。 作为 tibco 软件阵容的一部分, 乐队网络将与他们的 ebx 平台合作, 为客户提供一个单一的解决方案, 以更低的成本和风险管理、管理和共享数据资产, 从而增强 tibco 目前的企业集成服务 api云中的管理和分析。 tibco 的 palo alto 总部 (资料来源: lars plougmann on flickr)。 2017年, 乐团网络被gartner 魔术象限评为主数据管理解决方案中的领导者和远见卓识者。乐团网络联合创始人兼首席执行官 christophe barriolade 表示, 此次收购将使 ebx 平台能够 “为集成和分析提供共享数据资产, 以增强决策和更快、更智能的行动”, … Read More

Featured Post

数学地理函数与球面三角形

这篇文章将看看北卡罗来纳州的研究三角背后的三角形使用数学的地理功能。 球面三角形 球面三角形是在球体表面绘制的三角形。它有三个顶点, 由球体上的点和三个边给出。三角形的边是在两个顶点之间运行的大圆圈的一部分。一个大圆是一个最大半径的圆, 一个与球体中心相同的圆。 球面几何的一个有趣的方面是, 三角形的边和角都是角度。由于球面三角形的两侧是圆弧, 因此它们具有角度度量, 即通过将每个顶点连接到球体中心而形成的角度。边线的弧长是其角度测量乘以球体半径的。 用a、 b和c表示这三个顶点。用a的对立面等表示。用α、β和γ分别表示 a、 b和c处的角度。 研究三角 研究三角是由杜克大学、北卡罗来纳州立大学和北卡罗来纳大学教堂山分校组成的 (球形!) 三角形。 (这就是这个名字的起源, 尽管现在它更宽松地应用于这三所大学周围的一般领域。 我们将把它作为我们的顶点 a = unc 教堂山 (北纬 35.9046, 北纬 79 9.0468 w) b = 达勒姆杜克大学 (北纬 36.0011, 西华里78.9389), c = rateigh 的 … Read More

Featured Post

什么是 elt?

elt 定义 elt 代表提取、加载、转换。elt 是传统系统的一个演变, 您可以在传统系统中提取、转换, 然后加载数据 (etl)。从历史上看, etl一直是将数据从一个地方移动到另一个地方的最佳且最可靠的方式。但是, 随着现代数据存储系统的计算能力不断增强, 有时在转换前加载数据会更有效。 这也不是一刀切的情况, 因为有些转换在数据存储中执行得更好, 有些转换在数据管道中执行得更好。我们稍后再讨论这个问题。 有关移动数据的两种方法之间的详细比较, 请参阅etl 与 elt: 说明的差异。 elt 的优点 以下是 elt 的一些好处: 高效。elt 可以利用现有硬件的计算能力来执行转换。 灵活生成的数据集。使用 elt 时, 可以将整个数据集移动到目标。如果您不想在移动数据之前对其进行转换, 或者希望目标数据的架构具有灵活性, 这将非常有用。 下面是一些受益于 elt 的常见用例: 数据相对简单, 但质量庞大,如日志文件和传感器数据。在这种情况下, 在目标中发生的转换可能相对简单, 其好处来自于目标数据存储快速加载海量数据的能力。 这些数据是非结构化的, … Read More

Featured Post

火花介绍

spark 2.0 是 apache spark 的下一个主要版本。这给 spark api 和库的抽象级别带来了重大变化。在这篇博客文章中, 我将讨论斯巴克会。 迷你图简介 在进入 sparksession 之前, 让我们先了解一下切入点。入口点是将控制从操作系统转移到提供的程序的位置。在2.0 之前, spark core 的入口点是 。apache spark 是一个功能强大的集群计算引擎, 因此它是为快速计算大数据而设计的。 在阿帕奇火花的火花上下文 Web 对于任何 spark 驱动程序应用程序来说, 一个重要的步骤是生成 。它允许您的 spark 应用程序在资源管理器的帮助下访问 spark 群集。资源管理器可以是以下三个资源管理器之一: 迷你站 纱 apache mesos … Read More

Featured Post

对 rdd 的火花变换

在这篇文章中, 我们将看到对 rdd 的一些常见的转换。 下面是一个可以关联的用例。假设您有一个数据集, 其中包含区域级别的员工人数, 并且您希望汇总到部门级别, 并且需要按部门对这些行进行分组, 并汇总每个部门中所有区域的员工人数。 spark 为这些用例提供了一个名为 key/值对 rdd 的特定 rdd 类型. 让我们看一下 key\ 值对 rdd 转换的一些示例: 1. 创建 key/值对 rdd:对 rdd 将一行的数据排列为两部分。第一部分是键, 第二部分是值。在下面的示例中, 我使用了 方法来创建 rdd, 然后使用了 方法来创建对 rdd。关键是每个单词的长度, 值是单词本身。 … Read More

Featured Post

通过火花提高您的数据摄入

最近, 我的公司面临着将1000万行 csv 格式的地理数据实时加载到 mongodb 的严峻挑战。 我们首先尝试创建一个简单的 python 脚本来加载内存中的 csv 文件并将数据发送到 mongodb。以这种方式处理1000万行需要 26分钟! 实时处理数据集的26分钟是不可接受的, 因此我们决定以不同的方式进行处理。 使用 hadoopn spark 进行数据摄入 wa 决定将 hadoop 群集用于原始数据 (实木复合地板而不是 csv) 存储和复制。 为什么选择实木复合地板? 实木复合地板是一种柱状文件格式, 提供高效的存储。更好的压缩列和编码算法已经到位。我们主要使用雅典娜的大文件。bigquery 还支持实木复合地板文件格式。因此, 我们可以更好地控制性能和成本。 使用 apache spark 映射数据 apache spark 是分布式数据处理最强大的解决方案之一, 尤其是在实时数据分析方面。 阅读带有 … Read More

Featured Post

什么是数据转换?

定义的数据转换 数据转换是将数据从一种格式或结构转换为另一种格式或结构的过程。数据转换对于数据集成和数据管理等活动至关重要。数据转换可以包括一系列活动: 您可以转换数据类型、通过删除空数据或重复数据来清理数据、丰富数据或执行聚合, 具体取决于项目的需要。 通常, 此过程涉及两个阶段。 在第一阶段, 您: 在标识源和数据类型的位置执行数据发现。 确定需要进行的结构和数据转换。 执行数据映射以定义如何映射、修改、加入、筛选和聚合各个字段。 在第二阶段, 您: 从原始源中提取数据。源的范围可能会有所不同, 包括结构化源 (如数据库) 或流源 (如来自连接设备的遥测数据) 或使用 web 应用程序的客户的日志文件。 执行转换。转换数据, 如聚合销售数据或转换日期格式、编辑文本字符串或联接行和列。 将数据发送到目标存储区。目标可能是处理结构化和非结构化数据的数据库或数据仓库。 为什么要转换数据? 出于多种原因, 您可能需要转换数据。通常, 企业希望转换数据以使其与其他数据兼容, 将其移动到另一个系统, 将其与其他数据联接, 或聚合数据中的信息。 例如, 考虑以下方案: 您的公司购买了一家较小的公司, 您需要合并人力资源部门的信息。购买的公司使用与母公司不同的数据库, 因此您需要执行一些工作以确保这些记录匹配。每个新员工都已获得员工 id, 因此这可以作为密钥。但是, 您需要更改日期的格式, 您需要删除任何重复的行, … Read More

Featured Post

k–: 在聚类分析时查找异常

11月4日和 5日, bigml 加入了哈马德·本·哈利法大学下属的卡塔尔计算研究所 (qcri), 将机器学习学校带到卡塔尔多哈!我们很高兴有这个机会与 qcri 合作。 会议期间, sanjay chawla 博士讨论了他的聚类算法与异常, k 手段-.我们认为这将是一个有趣的练习, 实现它的变化使用我们的领域特定的语言自动化机器学习工作流, whizzml。 k-手段算法的通常过程如下所示。它从一些数据集、一些群集 k 和一些预期的异常值l开始。它随机选择k质心, 并将数据集的每个点分配给其中一个质心。到目前为止, 就像香草 k 的意思。在香草 k 的意思, 你现在会发现每个集群的平均值, 并将其设置为新的质心。但是, 在 k-手段中, 您首先找到距离指定的质心最远的 l 点, 并从数据集中对其进行筛选。使用剩余的点找到新的质心。通过在我们离开的过程中删除这些点, 我们会发现质心不受异常值的影响, 从而发现不同的 (希望更好的) 质心。 我们已经在群集资源 bigml 中实现了 … Read More

Featured Post

如何在数据湖分析中使用 oss 位置

阿里云数据湖分析(dla) 使您能够使用标准 sql 语句直接查询和分析存储在对象存储服务 (oss) 和表存储实例中的数据。 在查询数据之前, 必须根据数据文件的格式和内容在 dla 中创建一个表。本教程以存储在 oss 实例中的文件为例, 说明如何指定表的位置。 开放源码软件位置 在 dla 中, 表创建语句的语法如下所示: CREATE EXTERNAL TABLE [IF NOT EXISTS] [db_name.]table_name [(col_name data_type [COMMENT col_comment], … [constraint_specification])] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], …)] … Read More

Featured Post

何时使用数据仓库和 hadoop

大数据现在正在成为一种新的趋势, 每个拥有数据仓库的组织都已经在某个时候讨论过合并大数据分析平台的问题。但是, 这里的大问题是, 什么时候是合适的时机? 好吧, 根据个人和专业经验, 我将总结我的观点, 希望能让决策者更容易, 帮助你在进行实际投资之前考虑正确的问题。 是否需要业务用户来处理额外的数据流 (例如社交媒体) 或任何需要高级数据挖掘的特定要求?如果没有, 那就停下来。没有坚实的商业案例就无法开始你的旅程。 如果当前数据仓库数据大小小于 10tb, 则停止。企业数据仓库可以轻松处理这些数据量。 谁将处理大数据集群的管理活动?要么你需要聘请专业人员, 要么开发一个内部团队来处理这个解决方案。 目前的 e t l 工程师能做吉格塔工程师的工作吗?你不能要求他们同时做两份工作。所以, 你需要训练他们。而且, 即使这样, 稳定和驯服大数据的任务也将是一项艰巨的任务。认真考虑吧。 组织政治。你们的组织准备好接受那么多投资了吗?你将如何证明投资回报率?存储大量数据而不执行任何操作对组织没有好处。 选择大数据供应商是一项重大而乏味的任务。最初, 一切都会看起来很好。但一旦每个节点的许可证、技术挑战和缺乏业务支持的到来, 你就会陷入火海。 在我的下一篇文章中, 我将借鉴我12年的经验, 用我所经历的实际例子和设想来解释如何克服这些挑战。

Featured Post

对大数据的担忧

为了了解大数据的当前和未来状况, 我们与来自28个组织的 31名 it 高管进行了交谈。我们问他们: “你对大数据的状态有什么顾虑吗”以下是他们告诉我们的: 安全 整个方法带来了移动数据的安全挑战。假数据生成。内部攻击。api 漏洞。 我更担心的是内部故障, 而不是外部故障。员工可以访问他们不应该访问的数据。人为错误因素。人类在这个过程中制造了漏洞。没有受过良好的训练或自满。 安全和隐私。物理或虚拟数据湖有很多非常重要的东西。 质量 对质量和背景相关性重视不够。技术的趋势是收集更多更接近最终用户的原始数据。危险在于原始格式的数据存在质量问题。缩小最终用户和原始数据之间的差距会增加数据质量方面的问题。中间的东西正在精简, 但原始数据有质量问题, 这很好。保持对质量数据的关注。一旦您开始将处理移交给 ai/ml, 您就需要了解数据。从质量、格式和上下文来看, 数据的重要性变得更加重要。 信息的生命周期, 以实现治理的质量和适当的治理和执行。经适当批准的; 经适当批准的什么是记录?我们如何管理新记录中的合规性视角?可靠性、质量和合规性等同于治理。 随着分析速度的加快, 需要更快地访问数据。人类开始被从这个过程中删除。监督在哪里?我们如何知道应使用用于驱动分析和操作的数据?我们如何知道这些算法是适当的、合乎道德的和无偏见的, 它们正在继续以这些方式执行?当 “坏数据” 进入系统时, 即使是意外的情况下, 会发生什么?它是被发现和拒绝, 还是会在所有由此产生的行为都被污染的情况下进行处理?这些都是对我们目前掌握大数据的一些关切, 也是需要解决的问题。 数据完整性。确保来自可靠来源的数据没有错误或 “干净”, 必须是数据提供商和我们的客户的优先事项。完整性较低的数据会降低业务分析和智能的准确性。准确性越低, 目标选择和转换合适受众的效率越低, 客户满意度降低的风险也就越低 2;颜色: rgb(34, 38, 53);保证金: … Read More

Featured Post

大数据 #Futures

为了了解大数据的当前和未来状况, 我们与来自28个组织的 31名 it 高管进行了交谈。我们问他们: “从您的角度来看, 大数据的接收、管理和分析的未来是什么–最大的机会在哪里?”以下是他们告诉我们的: ai/ml 我们将看到从预置到云的过渡, 然后看到传统的 hadoop 进行到云的过渡。这将导致更高的采用 ai/ml。 只需推动公司的数字化议程。您有足够的计算能力和数据–您能做些什么?利用该功能。使用 ai/ml 对数据进行筛选。让更多的人参与进来。 利用大数据和 ml 异常检测, 让更多的传感器进入世界。从城市传感器的预警指示器检查安全帽、ml 模型。整个经济成为信息驱动。了解为什么会发生异常。 1) ai·ml 变得少了炒作, 更多的是一种趋势。ml 需要大数据才能工作。任何 ml 都需要大数据。大数据本身并不有用。能够有一个引擎自动看到趋势, 并提出建议, 看什么是有价值的。2) 期待更多的工具用于大数据的可视化和报告。销售力量有爱因斯坦。tableau 有一个工具。期待我们还有成千上万的人还没有看到。aiml 将变得更加普遍。 ai 保护的系统。维护和保持数据更安全。为人类制造伦理和道德困境。保护数据, 因为在某个时候, 它将被移交给机器, 这是可怕的, 因为你不知道机器可能会做什么, 你无法恢复。 … Read More

Featured Post

破译数据以发现隐藏的见解: 数据的争论和摄入

本文由多部分部分讨论如何从三个角度 (概念、实践和最佳实践) 收集数据、交换数据、获取数据、模型数据以及可视化数据。 在本系列的第一篇文章中, 我们已经看到了如何通过银行、金融服务和保险 (bfsi) 领域的示例从概念上理解数据。 在本文中, 我们将学习如何根据您的业务场景使用阿里云快速 bi来处理数据 (即清理数据)。在即将到来的破译数据过程中, 我们可能需要快速 bi, 因此请确保您已注册阿里云帐户。如果您还没有, 请通过此链接注册一个免费帐户。 什么是数据争用? 数据纠纷 (有时被称为数据咀嚼) 是将数据从一种格式转换为另一种格式的过程, 目的是使其更适合分析, 更有价值。随着大数据和物联网应用的迅速增长, 数据类型和格式的数量每天都在增加。这使得数据纠纷成为大数据处理不可或缺的元素, 特别是对于较大的应用程序。 什么是快速 bi? 阿里云快速 bi是构建在云上的灵活而轻量级的业务分析平台。快速 bi 的基本组件如下所示: 数据源 数据 工作表 (快速 bi 基本) 工作簿 (快速 bi 专业版和专业版) 仪表 … Read More

Featured Post

迈向集中式流媒体集线器的一步

当我试图解决一个典型的物联网问题时, 集中式流式传输集线器或下一代实时数据处理工具的想法出现在了画面中。进入云的流式物联网数据源太多, 需要对其进行清理、处理、筛选和监控。在流数据上创建动态规则引擎是一个有趣的要求。该要求还要求典型的 elt 方案并将数据放入流中, 不同的业务应用程序可以在其中使用这些数据。如今, 大多数客户都在寻找通过卡夫卡流媒体的问题。通常情况下, 卡夫卡具有出色的吞吐量和非常低的延迟。客户端正在寻找流数据可用的流式集线器。 让我们先来看看建议的体系结构: 我正在尝试创建一个平台, 将暴露我的流数据统计、实时监控系统、接收到数据湖和高度使用的监控系统。在本文中, 我将解释如何使用 java 创建自定义卡夫卡制作者。我们将深入了解 spark 2.3 的连续流媒体属性, 以及自定义数据质量模块如何帮助识别格式错误的记录。 为了获得流媒体源, 我已经在本地计算机上安装了卡夫卡0.10.2.1。我还创建了一个简单的 java 生成器来推送不同主题中的消息。下面是一个示例: public class DemoKafkaProducer { public static void main(String[] args) { //String directory=args[0]; Properties props = new Properties(); props.put(“bootstrap.servers”, … Read More

Featured Post

流处理的意义

在过去几年里, 开源流处理的创新出现了爆炸式增长。apache spark 和 apache storm 等框架为开发人员提供了可用于开发应用程序的流抽象;apachebeam 提供了一个 api 抽象, 使开发人员能够独立于底层框架编写代码, 而 apache nifi 和 streamset 数据收集器等工具提供了用户界面抽象, 允许数据工程师定义数据流从高层构建块, 很少或没有编码。 在本文中, 我将提出一个用于组织流处理项目的框架, 并简要描述每个区域。我将专注于将项目组织成一个概念模型;有许多文章比较了现实世界中应用程序的流框架–我在最后列出了一些文章。 我将介绍的特定类别包括流处理框架、流处理 api 和流数据流系统。 什么是流处理? 解释流处理的最简单方法是相对于它的前身批处理。过去的许多数据处理都是围绕着处理定期、可预测的数据批次进行的–在 “安静” 时间内处理前一天的事务的夜间工作;提供仪表板等汇总统计信息的月度报告。批处理简单、可扩展且可预测, 企业容忍模型中固有的延迟-可能需要数小时甚至数天的时间才能在下游数据存储中处理和可见事件。 随着企业要求更及时的信息, 批次越来越小, 处理频率也更高。由于批处理大小倾向于单个记录, 出现了流处理。在流处理模型中, 事件在发生时进行处理。这种更动态的模型带来了更多的复杂性。通常情况处理是不可预知的 , 事件以突发状态到达 , 因此系统必须能够应用背压、缓冲事件进行处理 , … Read More

Featured Post

与 python 的乐趣 (第2部分)

“python 是您仍然可以阅读的最强大的语言.-保罗·杜布瓦 作为一名开发人员, 很难只专注于一种编程语言, 在您的职业生涯中, 至少有几个项目需要您至少了解一点与您所擅长的编程语言不同的编程语言。在这种情况下, 您开始比较它们, 注意它们的特殊性, 并且经常尝试以您最喜欢的语言中习惯的相同方式编写代码。 很快你就会失望, 因为这种新语言不支持你所期望的一些功能。在几百行代码之后, 您开始注意到这种语言实际上可以满足您的要求, 您开始了解它的工作方式, 也许还有作者这样构建它的原因。这就是作为一个开发者的挑战和美, 你永远不知道在你的下一个项目中你会 “说” 什么语言。 在本文中, 我将继续探索 python , 并与您分享我在从事一个项目时发现的好奇心。 返回多个结果的方法 有时, 我希望有一个方法, 将返回多个结果。我可以尝试将事情分组到一个逻辑结构中, 但并不总是如此。您可能认为, 此方法自动违反了具有执行单个操作的方法的规则, 因为返回的两个结果意味着在该方法内执行两个进程。 假设我们想要一个方法, 将两个数字, 并返回商和余数: def divide(a, b): quotient = a // b … Read More

Featured Post