構建數據應用程序在Lakehouse Python的磚SQL的連接器

我們興奮地宣布通用的可用性Python的磚SQL的連接器。這是最近的一般的磚SQL在亞馬遜Web服務和Azure。Python開發人員現在可以構建數據應用lakehouse,受益於此創紀錄的表現對所有的數據分析。

本機Python連接器提供了簡單的安裝和Python 2.0 DB API兼容的接口,可以方便地查詢數據。它還自動轉換磚之間的SQL和Python數據類型,刪除需要樣板代碼。

在這篇文章中,我們將通過一些例子連接到磚和運行查詢的一個示例數據集。

簡單的安裝在PyPI

本機Python連接器,不需要下載和安裝的ODBC / JDBC驅動程序。通過pip安裝,這意味著您可以在應用程序中包括這個連接器和使用CI / CD:

pip安裝databricks-sql-connector

安裝需要Python 3.7 +

查詢的表和視圖

連接器使用SQL端點以及所有目的集群。在這個例子中,我們向您展示如何連接和SQL端點上運行一個查詢。建立一個連接,我們進口連接器和傳遞連接和身份驗證信息。您可以使用磚的個人身份驗證訪問令牌(PAT)或微軟Azure active directory (AAD)令牌。

下麵的示例檢索旅行從紐約出租車樣本數據集的列表,將旅行距離打印到控製台。cursor.description包含元數據對結果集在db api 2.0格式。cursor.fetchall()獲取所有剩餘的行作為一個Python列表。

從磚導入sql和sql。連接(server_hostname = " ", http_path = " ", access_token = " ")是康涅狄格州:與conn.cursor()光標:遊標。(“SELECT * FROM samples.nyctaxi執行。旅行,trip_distance < %(距離)s限製2“,{“距離”:10})打印(f“描述:{cursor.description}”)打印(“結果:”)行cursor.fetchall():打印(row.trip_distance)

輸出(簡潔的編輯):

5描述:[(“tpep_pickup_datetime”、“時間戳”,…),(“tpep_dropoff_datetime”、“時間戳”,…),(“trip_distance”、“雙”,…),…)結果:5.35 6.5 5.8 9.0 11.3…

注意:使用參數化查詢時,你應該仔細地清潔你的輸入,以防止SQL注入攻擊。

將數據插入表

連接器還允許您運行INSERT語句,用於插入少量的數據(如成千上萬行)您的Python應用程序生成的表:

遊標。執行(如果不存在“創建表廣場(int x, int x_squared)”)廣場=[(我*我)我的範圍(100)]值= "、"。加入([f”({x}, {y})”(x, y)在廣場))遊標。執行(f“插入廣場值{值}”)遊標。執行(“SELECT * FROM廣場”)打印(cursor.fetchmany (3))

輸出:

(行(x = 0, x_squared = 0)、行(x = 1, x_squared = 1)、行(x = 2, x_squared = 4)]

批量加載大量的數據(例如,數百萬行),我們建議先將數據上傳至雲存儲,然後執行複製到命令。

查詢關於表和視圖的元數據

以及執行SQL查詢,連接器,很容易看到關於你的元數據目錄、數據庫、表和列。下麵的例子將檢索元數據列的信息從一個示例表:

遊標。列(schema_name =“默認”,table_name =“廣場”)的行cursor.fetchall():打印(row.COLUMN_NAME)

輸出(簡潔的編輯):

x x_squared

一個光明的未來lakehouse Python應用程序開發人員

我們要感謝貢獻者Dropbox的PyHive連接器,它提供依據,早期版本的Python的磚SQL的連接器。在接下來的幾個月,我們計劃為Python和開源磚SQL連接器開始歡迎來自社區的貢獻。

我們興奮,我們的客戶將為Python構建與磚SQL的連接器。beplay体育app下载地址在以後的版本中,我們期待添加支持額外的身份驗證方案,multi-catalog元數據和SQLAlchemy。請嚐試連接器,並給我們反饋。我們很樂意聽到你你希望我們的支持。

免費試著磚 開始

報名

Baidu
map