跳轉到主要內容
公司博客上

磚連接:將承載的功能Apache火花™應用程序和microservices

2019年6月14日 公司博客上

分享這篇文章

在這篇文章我們介紹磚連接,一個新的庫,允許您利用本地Apache火花api從任何筆記本,IDE,或自定義應用程序。

概述

在過去的幾年中,許多自定義應用程序連接器已經寫了Apache火花。這包括spark-submit等工具,其他工作服務器,筆記本網關,等等。這些工具都受到很多限製,包括:

  • 他們並不是放之四海而皆準:許多隻與特定ide或筆記本。
  • 他們可能需要運行您的應用程序集群托管在火花。
  • 你必須與另一組集成編程接口的火花。
  • 庫依賴關係不能改變而不需要重新啟動集群。

比較該如何連接到SQL數據庫服務,就是導入庫和連接到一個服務器:

< span風格="顏色:# ff0000;“>進口< / span > pymysql康涅狄格州= pymysql.connect (< connection_conf >)conn.execute (< span =風格”顏色:# ff6600;“>“選擇日期,產品從銷售”< / span >) < / connection_conf >

相當於火花的結構化數據api將如下:

< span風格="顏色:# ff0000;“>< / span > pyspark。sql = <跨風格"顏色:# ff0000;“>進口< / span > SparkSession火花= SparkSession.builder.config (< connection_conf >) .getOrCreate ()火花。表(< span =風格”顏色:# ff6600;“>“銷售”< / span >)。selectExpr (< span =風格”顏色:# ff6600;“>“日期”< / span >, < span =風格”顏色:# ff6600;“>“產品”< / span >),告訴()< / connection_conf >

然而,磚連接之前,這上麵片段隻會工作單機火花集群——防止輕鬆地擴展到多台機器上或沒有額外的工具,如spark-submit到雲。

磚連接的客戶端

磚完成火花連接器連接的故事通過提供一個普遍引發客戶端庫。這使您能夠運行引發筆記本的工作應用程序(如Jupyter,齊柏林飛艇,CoLab), ide(如Eclipse,PyCharm、Intellij RStudio)和自定義Python / Java應用程序。

這意味著任何你可以“進口pyspark”或“進口表示。火花”,現在可以無縫地運行大規模就業對磚集群。作為一個例子,我們將展示一種CoLab筆記本使用磚連接執行火花遠程工作。重要的是要注意,這裏沒有特定於應用程序的集成,我們隻是安裝了databricks-connect圖書館和進口。我們也讀GCP的S3數據集,這是可能的,因為火花集群本身駐留在一個AWS地區:

工作從磚磚集群上運行遠程連接到利用分布式計算,並可以使用磚火花的監控界麵:

客戶用例

超過一百的客戶正在積極使用磚今天連接。beplay体育app下载地址一些著名的用例包括:

發展和CI / CD:

  • 調試代碼與磚承載集群交互時使用本地的ide
  • 火花測試應用程序在CI / CD管道對生產環境

互動分析:

  • 許多用戶使用磚連接,這樣他們就可以用他們喜歡的外殼(如Jupyter, bash)或工作室環境(例如,RStudio)發布交互式查詢磚集群

應用程序開發:

  • 有一個在醫療領域的大客戶使用磚連接到部署麵向microservice提供交互式用戶查詢。查詢服務使用磚庫連接到遠程運行引發工作與幾個磚集群,每天為成千上萬的查詢。

磚連接是如何工作的

建立一個通用客戶端庫,我們必須滿足以下要求:

  1. 從應用程序的角度來看,客戶端庫應表現出完整的火花(即完全一樣。,您可以使用SQL, DataFrames等等)。
  2. 重量級的操作,比如物理規劃和執行必須運行在雲中的服務器。否則,客戶端讀取數據會帶來很大的開銷在廣域網,如果不是運行位於與集群。

為了滿足這些需求,當應用程序使用火花api,磚連接庫運行工作的計劃了分析階段。這使磚連接庫的行為完全相同的火花(要求1)。當執行工作準備,磚連接邏輯查詢計劃發送到服務器,在實際執行和IO發生(2)要求:

磚連接信息

圖1所示。磚火花工作的一生分為客戶端連接階段,其中包括邏輯分析,和服務器階段,執行遠程集群上執行。

磚連接的客戶端是為了工作在不同的用例。它在休息,通信服務器進行身份驗證和授權直接通過平台Beplay体育安卓版本API的令牌。會話是孤立在多個用戶之間安全、高並發共享集群。結果是流在一個有效的二進製格式,使高性能。使用的協議是無狀態的,這意味著您可以輕鬆地構建容錯應用程序甚至不會失去工作是否重新啟動集群。

可用性

磚連接進入一般利用率從DBR 5.4版本,並支持Python, Scala, Java和R的工作負載。你可以得到它PyPI對於“pip安裝databricks-connect”的所有語言,和文檔在這裏

免費試著磚
看到所有公司博客上的帖子
Baidu
map