什么是 Azure Databricks?
Azure Databricks是一個完全托管的匿辩、基于云的大數(shù)據(jù)分析和機器學習平臺令境,通過簡化搭建企業(yè)級生產環(huán)境數(shù)據(jù)應用程序的流程晒旅,使開發(fā)人員能夠加速導入數(shù)據(jù)智能和應用創(chuàng)新。Azure Databricks是由Apache Spark的創(chuàng)始團隊和微軟共同打造的掷邦,它為數(shù)據(jù)科學和數(shù)據(jù)工程團隊提供了一個用于大數(shù)據(jù)處理和機器學習的統(tǒng)一平臺白胀。
通過將Databricks的強大功能與微軟Azure平臺的企業(yè)級和安全性相結合,Azure Databricks簡化了大規(guī)模Spark工作負載的運營抚岗。Databricks是一款端到端的或杠、可管理的、針對云優(yōu)化的Apache Spark平臺宣蔚。Azure Databricks提供了一個交互式工作區(qū)向抢,支撐數(shù)據(jù)工程師、數(shù)據(jù)科學家和機器學習工程師之間的協(xié)作胚委。Azure Databricks 系統(tǒng)架構如下圖所示:
Azure Databricks 中的Spark 生態(tài)
Azure Databricks 包含完整的開源 Apache Spark 群集技術和功能挟鸠。 Azure Databricks 中的 Spark 包括下列組件:
? ? Spark SQL 和 DataFrames:Spark SQL 是用于處理結構化數(shù)據(jù)的 Spark 模塊。 DataFrames是基于列存儲的分布式數(shù)據(jù)集合亩冬。 它在概念上相當于關系型數(shù)據(jù)庫中的表艘希,或R/Python 中的DataFrames硼身。
? ? 流式處理(Streaming):實時數(shù)據(jù)處理和分析,適用于分析與交互式應用程序覆享。 可以與 HDFS佳遂、Flume 和 Kafka 集成。
? ? MLlib:由常見學習算法和實用工具(包括分類撒顿、回歸丑罪、群集、協(xié)作篩選凤壁、維數(shù)約簡以及底層優(yōu)化基元)組成的機器學習庫巍糯。
? ? GraphX:圖形和圖形計算,適用于從認知分析到數(shù)據(jù)探索的廣泛用例客扎。
? ? Spark Core API:包含對 R祟峦、SQL、Python徙鱼、Scala 和 Java 的支持宅楞。
Azure Databricks關鍵企業(yè)級能力解讀
Azure Databricks的架構可以保證跨功能團隊的安全協(xié)作,同時保留由Azure Databricks管理的大量后端服務袱吆,這樣使用者就可以專注于數(shù)據(jù)科學厌衙、數(shù)據(jù)分析和數(shù)據(jù)工程任務。
盡管架構可能因自定義配置而有所不同 (例如绞绒,當Azure Databricks工作區(qū)部署到自己的虛擬網絡時婶希,也稱為VNet注入),下面的架構圖表示了Azure Databricks最常見的結構和數(shù)據(jù)流蓬衡。
Azure Databricks企業(yè)級數(shù)據(jù)安全設計
控制平面包括Azure Databricks在其自身的Azure帳戶中管理的后端服務喻杈。用戶運行的任何命令都將存在于控制平面中,而用戶的代碼將完全加密狰晚。用戶保存的命令駐留在數(shù)據(jù)平面中筒饰。
數(shù)據(jù)平面由用戶的Azure帳戶管理,它是用戶數(shù)據(jù)駐留的地方壁晒。這也是處理數(shù)據(jù)的地方瓷们。此圖假設數(shù)據(jù)已經被攝入到Azure數(shù)據(jù)庫中,但是用戶可以從外部數(shù)據(jù)源攝入數(shù)據(jù)秒咐,例如事件(Event)數(shù)據(jù)谬晕、流(Streaming)數(shù)據(jù)、物聯(lián)網(IoT)數(shù)據(jù)等等携取。用戶也可以使用Azure Databricks連接器連接到Azure帳戶之外的外部數(shù)據(jù)源進行存儲攒钳。
用戶的數(shù)據(jù)總是駐留在數(shù)據(jù)平面的Azure帳戶中,而不是控制平面歹茶,因此用戶總是保持對數(shù)據(jù)的完全控制和所有權夕玩,而不需要鎖定你弦。
Azure Databricks典型數(shù)據(jù)分析應用場景
在微軟云Azure中進行大數(shù)據(jù)分析時,原始或結構化的數(shù)據(jù)將通過 Azure 數(shù)據(jù)工廠以批量的形式引入 Azure燎孟,或者通過 Apache Kafka禽作、事件中心(Event Hub)或 IoT 中心進行準實時的流式傳輸。這些數(shù)據(jù)攝入模式將數(shù)據(jù)將駐留在數(shù)據(jù)湖(Data Lake)的各種存儲位置中揩页。 在運行分析工作流時旷偿,用戶可以使用 Azure Databricks 從數(shù)據(jù)湖的各種數(shù)據(jù)源讀取數(shù)據(jù),并使用 Spark 將數(shù)據(jù)進行處理爆侣,再將之放入Azure Cosmos DB萍程,Azure SQL,Azure DB for MySQL或 Azure SQL 數(shù)據(jù)倉庫等服務中兔仰,以便于被下游各種數(shù)據(jù)消費者消費茫负。參考架構如下圖所示。
Azure Databricks能力清單
Azure Databricks 擁有一個安全的云上高可用生產環(huán)境乎赴,由 Spark 專家進行管理和提供支持忍法。 用戶可以:
? ? 在幾秒鐘內創(chuàng)建群集。
? ? 動態(tài)自動擴展和縮減群集并在團隊中共享群集榕吼。
? ? 通過調用 REST API 以編程方式使用群集饿序。
? ? 使用基于 Spark 的安全數(shù)據(jù)集成功能,在不用集中化的情況下統(tǒng)一數(shù)據(jù)羹蚣。
? ? 及時獲得每個版本中的最新 Apache Spark 功能原探。
Azure Databricks 工作區(qū)(Workspace)
構建在完整的 Spark 功能基礎之上,提供一個完全托管的云平臺顽素,其中包括:
? ? 完全托管的 Spark 群集
? ? 用于探索和可視化的交互式工作區(qū)
? ? 一個為現(xiàn)有的Spark應用程序提供支持的平臺
Databricks 運行時(Runtime)
? ? Azure Databricks 運行時構建在 Apache Spark 的基礎之上咽弦,是Spark 創(chuàng)始團隊專門針對 Azure 云以原生方式構建和優(yōu)化的的。
? ? Azure Databricks 通過高度抽象化徹底消除了基礎結構復雜性戈抄,無需專業(yè)知識就能設置和配置大數(shù)據(jù)分析基礎設施离唬。
? ? 對于性能敏感的生產作業(yè)而言,Azure Databricks 通過 I/O 層和處理層 (Databricks I/O) 的各種優(yōu)化提供了一個優(yōu)于開源版本20-50倍的 Spark 引擎划鸽。
云上大數(shù)據(jù)協(xié)同分析
? ? 通過協(xié)作和集成式環(huán)境,Azure Databricks 簡化了在 Spark 中瀏覽數(shù)據(jù)戚哎、制作原型和運行數(shù)據(jù)驅動型應用程序的過程裸诽。
? ? 通過簡單的數(shù)據(jù)瀏覽確定如何使用數(shù)據(jù)。
? ? 在以 R型凳、Python丈冬、Scala 或 SQL 編寫的筆記本中記錄進度。
? ? 幾步內即可實現(xiàn)數(shù)據(jù)可視化甘畅,可以使用熟悉的工具埂蕊,例如 Matplotlib往弓、ggplot 或 d3。
? ? 使用交互式儀表板創(chuàng)建動態(tài)報告蓄氧。
? ? 在使用 Spark 的同時與數(shù)據(jù)交互函似。
參考:
https://docs.microsoft.com/zh-cn/azure/databricks/getting-started/overview
https://docs.microsoft.com/zh-cn/azure/databricks/scenarios/what-is-azure-databricks-ws
https://docs.microsoft.com/zh-cn/azure/databricks/scenarios/what-is-azure-databricks
獲取云上規(guī)暮硗化分析白皮書
https://azure.microsoft.com/zh-cn/resources/cloud-analytics-with-microsoft-azure/