Lakehouse PostgreSQL聯盟

預覽

這個特性是在公共預覽

本文描述了如何設置Lakehouse聯合會在PostgreSQL運行聯邦查詢數據不是由磚。更多地了解Lakehouse聯合會使用Lakehouse聯合運行查詢

連接到PostgreSQL數據庫使用Lakehouse聯合會,你必須創建下麵的磚統一目錄metastore:

  • 一個連接PostgreSQL數據庫。

  • 一個外國目錄鏡子PostgreSQL數據庫,統一編目,以便您可以使用統一目錄查詢語法和數據治理工具來管理數據磚用戶對數據庫的訪問。

在你開始之前

工作要求:

  • 工作區為統一啟用目錄。

計算要求:

  • 從你的磚運行的集群或網絡連接SQL倉庫到目標數據庫係統。看到網絡對Lakehouse聯合會的建議

  • 磚集群必須使用磚集群運行時13.1或更高版本和共享訪問模式。

  • SQL必須讚成或Serverless倉庫。

權限要求:

  • 創建一個連接,你必須是一個metastore管理員或用戶創建連接特權在統一目錄metastore連接到工作區。

  • 創建一個外國目錄,你必須有創建目錄許可metastore和連接的所有者或有創建外國目錄特權的連接。

額外的權限需求中指定的每個任務部分。

創建一個連接

指定路徑和憑證的連接來訪問外部數據庫係統。創建一個連接,您可以使用瀏覽器或數據創建連接SQL命令在磚磚筆記本或SQL查詢編輯器。

權限要求:Metastore管理員或用戶創建連接特權。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 在左窗格中,展開外部數據菜單並選擇連接

  3. 點擊創建連接

  4. 輸入一個用戶友好的連接名

  5. 選擇一個連接類型PostgreSQL

  6. 輸入以下為PostgreSQL實例連接屬性。

    • 主機:例如,postgres demo.lb123.us -西方- 2. rds.amazonaws.com

    • 港口:例如,5432年

    • 用戶:例如,postgres_user

    • 密碼:例如,password123

  7. (可選)單擊測試連接確認它的工作原理。

  8. (可選)添加一個評論。

  9. 點擊創建

運行以下命令在筆記本或磚的SQL查詢編輯器。

創建連接<連接- - - - - -的名字>類型postgresql選項(主機“<主機名>”,港口<口>的,用戶“用戶> <”,密碼“<密碼>”);

我們建議您使用磚秘密而不是純文本字符串為敏感值等憑證。例如:

創建連接<連接- - - - - -的名字>類型postgresql選項(主機“<主機名>”,港口<口>的,用戶秘密(“< secret-scope >”,“< secret-key-user >”),密碼秘密(“< secret-scope >”,“< secret-key-password >”))

設置機密信息,請參閱保密管理

創建一個外國目錄

外國目錄鏡像數據庫在外部數據係統,這樣您就可以查詢和管理使用磚和統一訪問數據在數據庫目錄。創建一個外國目錄,您使用一個連接到數據源已經定義。

創建一個外國目錄,您可以使用瀏覽器或數據創建外國目錄SQL命令在磚磚筆記本或SQL查詢編輯器。

權限要求:創建目錄許可metastore和連接的所有權或創建外國目錄特權的連接。

  1. 在你的磚工作區,點擊數據圖標數據

  2. 單擊創建目錄按鈕。

  3. 創建一個新的目錄對話框中,輸入一個名稱的目錄和選擇一個類型外國

  4. 選擇連接提供對數據庫的訪問,你想鏡子作為統一目錄編目。

  5. 輸入的名稱數據庫您想要鏡子作為一個目錄。

  6. 點擊創造。

運行以下SQL命令在筆記本或磚SQL編輯器。物品在括號中是可選的。替換占位符的值:

  • <目錄名稱>:磚的目錄的名稱。

  • <名稱>:連接對象路徑,指定了數據源和訪問憑證。

  • <數據庫名稱>:數據庫的名稱你想鏡子磚的一個目錄。

創建外國目錄(如果存在]<目錄- - - - - -的名字>使用連接<連接- - - - - -的名字>選項(數據庫“<數據庫名稱>”);

支持下推

支持以下疊加計算:

  • 過濾器

  • 預測

  • 限製

  • 功能:部分、篩選器表達式。(字符串函數、數學函數、數據、時間和時間戳函數,和其他雜項功能,如別名,排序方式)

支持以下下推磚上麵運行時13.3 LTS和和SQL倉庫2023.40及以上版本的計算:

  • 聚合

  • 排序,當使用限製

以下不支持疊加:

  • 連接

  • 窗函數

數據類型的映射

當你讀PostgreSQL火花,地圖數據類型如下:

PostgreSQL類型

火花類型

數字

DecimalType

int2

ShortType

int4(如果沒有簽署)

IntegerType

int8 oid, xid, int4(如果簽署)

LongType

float4

FloatType

雙精度,float8

倍增式

字符

CharType

名稱、varchar tid

VarcharType

bpchar、性格不同、json、金錢、超級、文本

StringType

bytea、幾何、varbyte

BinaryType

,保齡球

BooleanType

日期

DateType

tabstime、時間和時區,timetz,時間沒有時區,時區的時間戳,時間戳,沒有時區* timestamptz、時間戳

TimestampType / TimestampNTZType

Postgresql數組類型* *

ArrayType

*當你閱讀從Postgresql, Postgresql時間戳映射到火花TimestampType如果preferTimestampNTZ=(默認)。Postgresql時間戳映射到TimestampNTZType如果preferTimestampNTZ=真正的

* *有限支持數組類型。