權力的SQL人:引入Python udf在磚SQL
2022年7月22日 在Beplay体育安卓版本平台的博客
我們興奮地宣布Python用戶定義函數(udf)的預覽數據磚SQL (DBSQL)在上個月的數據和AI峰會。本博客文章中概述的新功能,並且描述了一個例子展示其功能和用例。
Python udf允許用戶編寫Python代碼和調用它通過SQL函數在一個簡單安全,全麵治理的方式,將Python磚SQL的力量。
引入Python udf磚SQL
在磚和Apache的火花™,udf是意味著延長火花:作為一個用戶,您可以定義您的業務邏輯作為可重用功能擴展詞彙的火花,如改變或掩蔽在他們的應用程序數據和重用它。與Python udf磚SQL,我們將擴大目前的支持SQL udf。
讓我們來看看一個Python UDF的例子。下麵函數編校郵件和電話信息從一個JSON字符串,並返回編校的字符串,例如,以防止未經授權的訪問敏感數據:
創建函數編輯(一個字符串)返回字符串語言PYTHON作為$ $進口json鍵=(“電子郵件”、“電話”)obj=json.loads (a)為k在obj:如果k在密鑰:obj [k]=“修訂”返回json.dumps (obj)$ $;
定義Python UDF,所有你需要做的就是一個創建函數
SQL語句。這個語句定義了一個函數的名字,輸入參數和類型,指定的語言PYTHON
,並提供了$ $之間的函數體。
Python UDF的函數體磚SQL相當於普通的Python函數,UDF本身返回計算的最終值。從Python標準庫和依賴關係磚10.4運行時,比如json包在上麵的例子中,可以進口,在代碼中使用。您還可以定義嵌套函數在你UDF封裝代碼構建或複雜的邏輯重用。
從那時起,所有用戶擁有適當權限可以調用這個函數做任何其他內置函數,例如,在選擇
,加入
或在哪裏
一個查詢的一部分。
Python udf在磚SQL的特性
現在,我們是多麼容易描述定義Python udf磚SQL,讓我們看看它如何能管理和整個lakehouse磚中使用SQL和。
管理和控製在所有工作區Python udf
Python udf的定義和管理統一目錄提供強大和細粒度的管理和治理方法:
- Python udf權限可以控製在一組(推薦)或用戶級在所有工作區使用GRANT和REVOKE語句。
- 創建一個Python UDF,用戶需要使用和創建權限模式和使用權限的目錄。要運行一個UDF,用戶需要執行UDF。例如,授予finance-analysts組權限使用
修訂
Python UDF的SQL表達式,發出以下語句:
格蘭特執行在silver.finance_db.redact來金融- - - - - -分析師
- 金融分析師小組的成員可以使用編輯UDF的SQL表達式,如下所示,contact_info列將包含沒有電話或電子郵件地址。
選擇account_nr,修訂(contact_info)從silver.finance_db.customer_data
企業級安全性和多租戶
Python的大國意識到有很大的責任。確保磚SQL和Python udf滿足企業安全的嚴格要求和規模,我們采取額外的預防措施,以確保其滿足您的需要。
為此,計算和數據完全保護磚內從Python代碼的執行SQL倉庫。在一個安全的環境防止執行Python代碼:
- 不提供對數據的訪問UDF作為參數,包括文件係統或內存之外的Python執行環境
- 溝通與外部服務,包括網絡、磁盤或進程間通信
這種執行模式構建的支持從多個用戶並發執行的查詢利用額外的計算在Python不犧牲任何安全需求。
用較少的資源做更多使用Python udf嗎
作為一個可擴展性機製有很多用例實現自定義的業務邏輯與Python udf。
Python是一種非常適合編寫複雜的解析和數據轉換邏輯需要定製超出的SQL。這可以如果你看著非常具體的或專有的方法來保護數據。使用Python udf,可以實現自定義標記,數據屏蔽、數據修訂或加密機製。
Python udf也是偉大的,如果你想延長你的數據和先進的計算甚至毫升模型預測。例子包括先進的地理空間沒有開箱即用的功能和數值或統計計算,例如,通過構建NumPy或者熊貓。
重用現有代碼和強大的庫
如果您已經編寫的Python函數在堆棧數據和分析你現在可以輕鬆地將這段代碼與Python udf磚SQL。這允許您在投資和機載二次新工作負載的速度在磚SQL。
同樣,獲得Python標準庫的所有包和磚上運行時允許您構建的功能庫,支持高質量的代碼,同時更有效的利用你的時間。
開始使用Python udf在SQL和Lakehouse磚
如果你已經是一個磚的客戶,注冊私人預覽今天。我們將為您提供所有必要的信息和文檔開始的一部分私人預覽。
如果你想了解更多關於統一目錄,看看這個網站。如果你不是一個磚客戶,注冊一個免費試用並開始探索Python udf的無限可能,磚SQL和磚Lakehouse的平台。Beplay体育安卓版本
加入談話,分享你的想法和用例的Python udf磚社區data-obsessed同行在哪裏聊天關於數據+人工智能峰會2022公告和更新。學習。網絡。慶祝。