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