云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

金山云_新网云服务器_精选特惠

小七 141 0

Databricks Connect:提供托管apachespark的功能™ 应用程序和微服务

在这篇博客文章中,我们将介绍Databricks Connect,这是一个新的库,允许您从任何笔记本、IDE或自定义应用程序中利用本地apachespark api。概述在过去几年中,许多定制的应用程序连接器都是为apachespark编写的。这包括诸如spark提交、REST作业服务器、笔记本网关等工具。这些工具受到许多限制,包括:它们并不是一刀切:许多只适用于特定的ide或笔记本。它们可能需要您的应用程序在Spark集群内运行。你必须在Spark上集成另一组编程接口。如果不重新启动群集,则无法更改库依赖项。将其与SQL数据库服务的连接方式进行比较,后者只需要导入库并连接到服务器:导入pymysql连接=pymysql.connect()连接执行("选择日期,销售产品")Spark的结构化数据API的等价物如下:从pyspark.sql导入SparkSession火花=SparkSession.builder.config().getOrCreate()火花表("销售").selectExpr("日期","产品").show()然而,在Databricks Connect之前,上面的代码片段只适用于单机Spark集群,这会阻止您在没有Spark submit等额外工具的情况下轻松扩展到多台机器或云端。Databricks连接客户端Databricks Connect通过提供一个通用的Spark客户端库来完成Spark connector的故事。这使您能够从笔记本应用程序(例如Jupyter、Zeppelin、CoLab)、ide(例如Eclipse、PyCharm、Intellij、RStudio)和定制Python/Java应用程序中运行Spark作业。这意味着可以在任何地方"导入pyspark"或"import"org.apache.spark网站,您现在可以针对Databricks集群无缝地运行大型作业。作为一个例子,我们展示了一个CoLab笔记本使用Databricks Connect远程执行Spark作业。需要注意的是,这里没有特定于应用程序的集成,我们只是安装了databricks connect库并导入了它。我们还从GCP读取了一个S3数据集,这是可能的,因为Spark集群本身托管在AWS区域:从Databricks Connect启动的作业在Databricks集群上远程运行,以利用其分布式计算,并且可以使用Databricks Spark UI进行监视:客户使用案例今天有一百多个客户在积极使用Databricks Connect。一些值得注意的用例包括:开发和CI/CD:在与Databricks托管集群交互时使用本地ide调试代码针对生产环境测试CI/CD管道中的Spark应用程序交互式分析:许多用户使用Databricks Connect,这样他们就可以使用他们首选的shell(例如Jupyter、bash)或studio环境(例如RStudio)对Databricks集群发出交互式查询应用程序开发:卫生保健领域的一个大客户使用Databricks Connect部署了一个基于Python的微服务,该服务提供交互式用户查询。查询服务使用Databricks Connect库对多个Databricks集群远程运行Spark作业,每天服务数千个查询。数据库连接的工作原理为了构建通用客户端库,我们必须满足以下要求:从应用程序的角度来看,客户机库的行为应该完全类似于fullspark(即,可以使用SQL、DataFrames等)。诸如物理规划和执行之类的重量级操作必须在云中的服务器上运行。否则,如果客户机不与集群在同一位置运行,那么通过广域网读取数据可能会产生大量开销。为了满足这些需求,当应用程序使用sparkapi时,Databricks Connect库会运行作业的规划,一直到分析阶段。这使得Databricks Connect库的行为与Spark相同(要求1)。当作业准备好执行时,Databricks Connect会将逻辑查询计划发送到服务器,在服务器上进行实际的物理执行和IO(要求2):图1。Databricks Connect将Spark作业的生命周期分为客户机阶段(包括逻辑分析)和服务器阶段(在远程集群上执行)。Databricks Connect客户机设计用于在各种用例中很好地工作。它通过REST与服务器通信,通过平台API令牌使身份验证和授权变得简单明了。会话在多个用户之间隔离,以实现集群的安全、高并发共享。结果以高效的二进制格式流回,以实现高性能。使用的协议是无状态的,这意味着您可以轻松构建容错应用程序,并且即使集群重新启动也不会丢失工作。可利用性Databricks Connect从dbr5.4版本开始进入通用性,并支持Python、Scala、Java和R工作负载。您可以通过"pip install databricks connect"从PyPI获得所有语言的版本,这里提供了文档。免费试用Databricks。今天就开始吧