公告通常是关于过去事件、正在发生的事件或未来事件的。今天宣布 Databricks 的 Spark 服务和 Redis 的 Redis 云之间的集成,某种程度上是这三种类型的混合。为什么它属于第三类应该是显而易见的,因此我想解释一下导致这一结果的过去和现在正在发生的事情。由于您正在阅读这篇博文,我假设您已经具备数据处理的相关背景,因此我将跳过产品介绍,直接进入正在进行的主题的核心。
Spark 和 Redis 之间的关系可能并不立即显而易见,尽管两者都将大规模性能作为其关键价值。每个工具的目的似乎位于光谱的两端——前者专注于处理数据,而后者则专注于提供服务。但事实上,它们都是以数据为中心的技术,这使两者走到了一起,尽管,也许是因为这种两极分化。虽然每种技术在其领域都非常出色,但将它们结合在一起似乎能带来最大的回报——随着每种解决方案独立演化和成熟,用户基于真实用例的潜在协同效应的证据也随之增加。这导致了 spark-redis 连接器 的诞生。
连接器的目的是提供一种在 Spark 和 Redis 的原生数据结构之间移动数据的方法。其 初始版本 旨在提供这种连接性,同时保留 Spark 和 Redis 共享的主要设计原则:能够使用简单的构建块来构建更强大的功能。一旦能够在 Spark 的 RDD 和任何 Redis 数据结构之间转换数据的桥梁准备就绪,我们就可以使用它来展示 这种组合的有效性。
我们刚刚发布了连接器的全新版本 v0.3,该版本带来了对 Spark SQL 的全面支持,但即使没有这个新功能,连接器也一直在稳步获得关注并得到应用(假设 GitHub 的星标是一个可靠的指标 :))。
然而,没有什么能够让我们为 Databricks 的 Reynold Xin 在上个月的 RedisConf 上分享的精彩演示做好准备。这个演示纯粹是学习体验,用 Douglas N. Adams 的一句名言来改写,学习体验就是说,“你知道你刚才做了什么吗?我不知道你用 Spark、Redis 和 spark-redis 连接器可以做到这一点!”。
演示笔记本首先展示了如何使用几个 Hash 数据结构将表格存储在 Redis 中。一旦数据到位,便使用 Redis 中的 RDD 创建相应的数据框,然后将其注册为表格。这基本上不到 10 行代码,这就是开始对 Redis 中的数据执行真正 SQL 查询(包括联接操作)所需的一切。在演示的第二部分,Reynold 展示了如何使用 SparkML 学习对数据进行文本分析,最后将存储在(随后可以从其中提供服务)Redis 中的模型。这简短、优雅且切中要害——在 Spark 中处理,从 Redis 中提供服务。
这让我们回到了开头——如果您滚动回演示笔记本的开头,您会看到它首先通过手动设置连接到 Redis 云的属性来开始。我们已经发布了 这个笔记本,其中解释了如何设置 Redis 云数据库并获取这些连接属性。最终,集成将允许这两个产品的用户轻松使用来自这两个平台的现有帐户。从实际意义上讲,这意味着您将能够从 Redis 云数据库的控制台启动 Databricks Spark 集群以立即处理其中的数据,同时您还将能够直接从您的 Spark 工作区配置和使用 Redis 数据库。一旦准备就绪,集成将使连接这两个服务变得像点击一个按钮一样简单,确实是如此。有问题吗?有反馈吗?发邮件 或 发推 我——我随时待命 😉