【Azure 架構師學習筆記】- Azure Databricks (13) -- 搭建Medallion Architecture part 1

本文屬于【Azure 架構師學習筆記】系列。
本文屬于【Azure Databricks】系列。
接上文 【Azure 架構師學習筆記】- Azure Databricks (12) – Medallion Architecture簡介

前言

上文已經介紹了關于Medallion的知識,本文開始用ADB 來實現, 但是基于內容較多,所以分為兩篇。

前面 【Azure 架構師學習筆記】- Azure Databricks (11) – UC搭建中已經創建了一個空白的ADB 并啟用了UC。

從下圖可以大概看出ADB 在Azure上的架構,這里有個大概了解即可:
在這里插入圖片描述
接下來稍微介紹一下ADB 集群的一些重要選項,并創建一個集群。

  • Access Mode:有下面3中模式,但是從解釋可以看出只有前兩種支持UC ,這里選擇默認的single即可。
    在這里插入圖片描述
  • Databricks Runtime:決定了Spark的版本,一般使用最新版即可。
  • Worker Type:決定了節點所使用的VM 類型。
  • Number Worker Nodes:節點隨壓力增減的幅度。

完成這部分配置之后,我們快速搭建一個ADLS Gen2 來作為medallion的存儲。這次使用Terraform來搭建,詳見【Azure 架構師學習筆記】- Terraform創建Azure 資源
為了滿足medallion 架構,在ADLS 上創建3個container分別為bronze, silever和gold,另外再加一個landing,用于提高可擴展性,最終的樣子為這樣:

在這里插入圖片描述

至此,我們的ADB 一共有兩個ADLS,一個是用于metadata,另外一個則是上面的用于存儲業務數據的。

配置UC 與外部ADLS

為了讓ADB 能夠訪問這個新建的ADLS, 還需要把ADB 的connector授權到這個ADLS 上(外部)。同時還需要在UC中創建“External Locations”(內部)。

打通 ADB UC 與 ADLS

把前面創建的“Access Connector for Azure Databricks”授予“Storage Blob Data Contributor”到新建的ADLS 中。如果ADLS 根據業務需求限制網絡訪問,那么還可能需要把ADB 的private subnet和public subnet 在ADLS 中進行白名單。
在這里插入圖片描述
在這里插入圖片描述

配置External location

External location實際上就是databricks內部的對象在外部ADLS上的映射。

在這里插入圖片描述
但是由于“external location”是需要一個storage credential,所以我們先點下面一個“create a credential”創建憑證:
在這里插入圖片描述
其中Access Connetctor ID 可以從資源Access connector 處復制:
在這里插入圖片描述
有了這個credential之后,ADB UC 就可以正式與ADLS 連接上了。

創建external location, 注意下面的格式
在這里插入圖片描述
錯誤出現了,很明顯要授權:
在這里插入圖片描述
檢查當前權限,確實沒有:

在這里插入圖片描述
勾選報錯中提到的權限,在后續會出現很多權限不足的問題,你可以逐個添加,但是要記錄下來以便后續正式環境時減少錯誤。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

按照這個方式,把前面所有的container都建好external location:
在這里插入圖片描述

到此, 我們的基礎環境已經搭建好,接下來將開始UC 內部具體的配置。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70892.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70892.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70892.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

社交APP如何打造高粘性興趣社群

想要打造一款成功的社交 APP 興趣社群,關鍵在于充分激發用戶的主動分享意愿,同時構建起深度互動機制。與其在一開始就將大量資源投入到廣告宣傳中,倒不如把精力集中在深度挖掘和精心維護首批核心用戶上。例如,可以嘗試設計在線測試…

【操作系統】同步與互斥

同步與互斥 一、同步與互斥的概念1.1 同步與異步1.2 進程互斥 二、進程互斥的實現2.1 軟件實現2.1.1 單標志法2.1.2 雙標志先檢查法2.1.3 雙標志后檢查法2.1.4 Peterson法 2.2 硬件實現2.2.1 中斷指令2.2.2 TestAndSet指令2.2.3 Swap指令 三、互斥鎖四、信號量機制4.1 整型信號…

C++ 正則表達式分組捕獲入門指南

在 C 中,正則表達式(regex)是一種用于匹配字符串模式的強大工具。正則表達式不僅能幫助你查找符合特定模式的字符,還能捕獲匹配的子字符串(即分組捕獲)。這篇文章將介紹 C 正則表達式中的分組捕獲機制&…

使用Docker方式一鍵部署MySQL和Redis數據庫詳解

一、前言 數據庫是現代應用開發中不可或缺的一部分,MySQL和Redis作為兩種廣泛使用的數據庫系統,分別用于關系型數據庫和鍵值存儲。本文旨在通過Docker和Docker Compose的方式,提供一個簡潔明了的一鍵部署方案,確保數據庫服務的穩…

性能附錄:如何計算并發用戶數(摘自高樓老師《性能30講》)

高樓老師《性能30講》: 性能測試實戰30講-極客時間 感興趣的同學可以去讀一下,個人感覺寫的非常好 目錄 什么是并發? 在線用戶數、并發用戶數怎么計算 總結 什么是并發? 我們假設上圖中的這些小人是嚴格按照這個邏輯到達系統的,那顯然,…

基于yolov8的糖尿病視網膜病變嚴重程度檢測系統python源碼+pytorch模型+評估指標曲線+精美GUI界面

【算法介紹】 基于YOLOv8的糖尿病視網膜病變嚴重程度檢測系統 基于YOLOv8的糖尿病視網膜病變嚴重程度檢測系統是一款利用深度學習技術,專為糖尿病視網膜病變早期診斷設計的智能輔助工具。該系統采用YOLOv8目標檢測模型,結合經過標注和處理的醫學影像數…

學習路程八 langchin核心組件 Models補充 I/O和 Redis Cache

前序 之前了解了Models,Prompt,但有些資料又把這塊與輸出合稱為模型輸入輸出(Model I/O)?:這是與各種大語言模型進行交互的基本組件。它允許開發者管理提示(prompt),通過通用接口調…

DeepSeek 開源狂歡周(五)正式收官|3FS并行文件系統榨干SSD

千呼萬喚始出來!在 DeepSeek 開源周 的第五天,今日正式收官!在大模型訓練中,每個epoch都在與存儲系統進行光速競賽——數據加載延遲會扭曲計算時空,KVCache訪問瓶頸將引發推理坍縮。DeepSeek開源的 3FS文件系統&#x…

特征工程中的三大向量化工具詳解

特征工程中的三大向量化工具詳解 在文本處理和特征工程中,TfidfVectorizer、CountVectorizer 和 DictVectorizer 是常用的工具,用于將原始數據轉換為機器學習模型可用的數值特征。以下是它們的核心區別、用法及示例: 1. CountVectorizer&…

C++ Qt常見面試題(4):Qt事件過濾器

在 Qt 中,事件過濾器(Event Filter)提供了一種機制,可以攔截并處理對象的事件(如鼠標事件、鍵盤事件等),在事件到達目標對象之前對其進行預處理。事件過濾器通常用于以下場景: 捕獲和處理特定的事件(如鼠標點擊、按鍵等);對事件進行篩選或修改;實現全局的事件監聽功…

TCP基本入門-簡單認識一下什么是TCP

部分內容來源:小林Coding TCP的特點 1.面向連接 一定是“一對一”才能連接,不能像 UDP 協議可以一個主機同時向多個主機發送消息,也就是一對多是無法做到的 2.可靠的 無論的網絡鏈路中出現了怎樣的鏈路變化,TCP 都可以保證一個…

PING命令TTL解析

在 ping 命令中,TTL(Time to Live,生存時間) 是 IP 數據包的核心字段之一,用于控制數據包在網絡中的生命周期。以下是針對 TTL 的簡明解析: 1. TTL 的核心作用 防循環機制:TTL 是一個計數器&a…

PySide(PyQT)重新定義contextMenuEvent()實現鼠標右鍵彈出菜單

在 PySide中,contextMenuEvent() 是 QWidget 類(以及繼承自它的所有子類)的一個事件處理方法,主要用于處理上下文菜單事件,也就是當用戶在控件上右鍵點擊時觸發的事件。 ? 通過重新定義contextMenuEvent()來實現自定…

GitHub SSH連接問題解決指南

🔍 GitHub SSH連接問題解決指南 問題描述 遇到錯誤:ssh: connect to host github.com port 22: Connection refused 說明您的網絡環境無法訪問GitHub的SSH端口22,常見原因: 防火墻/網絡運營商限制(國內常見&#xf…

Go紅隊開發—并發編程

文章目錄 并發編程go協程chan通道無緩沖通道有緩沖通道創建?緩沖和緩沖通道 等協程sync.WaitGroup同步Runtime包Gosched()Goexit() 區別 同步變量sync.Mutex互斥鎖atomic原子變量 SelectTicker定時器控制并發數量核心機制 并發編程階段練習重要的細節端口掃描股票監控 并發編程…

RabbitMQ 的介紹與使用

一. 簡介 1> 什么是MQ 消息隊列(Message Queue,簡稱MQ),從字面意思上看,本質是個隊列,FIFO先入先出,只不過隊列中存放的內容是message而已。 其主要用途:不同進程Process/線程T…

常用的AI文本大語言模型匯總

AI文本【大語言模型】 1、文心一言https://yiyan.baidu.com/ 2、海螺問問https://hailuoai.com/ 3、通義千問https://tongyi.aliyun.com/qianwen/ 4、KimiChat https://kimi.moonshot.cn/ 5、ChatGPThttps://chatgpt.com/ 6、魔塔GPT https://www.modelscope.cn/studios/iic…

在自己的數據上復現一下LlamaGen

git倉庫:https://github.com/FoundationVision/LlamaGen 數據集準備 如果用ImageFolder讀取,則最好和ImageNet一致。 data_path/class_1/image_001.jpgimage_002.jpg...class_2/image_003.jpgimage_004.jpg......class_n/image_005.jpgimage_006.jpg.…

Go入門之接口

type Usber interface {start()stop() } type Phone struct {Name string }func (p Phone) start() {fmt.Println(p.Name, "啟動") } func (p Phone) stop() {fmt.Println(p.Name, "關機") } func main() {p : Phone{Name: "華為手機",}var p1 U…

【數據結構進階】哈希表

🌟🌟作者主頁:ephemerals__ 🌟🌟所屬專欄:數據結構 目錄 前言 一、哈希表的概念 二、哈希函數的實現方法 1. 直接定址法 2. 除留余數法 三、哈希沖突 1. 開放定址法(閉散列&#xff0…