開始
加載和管理數據
處理數據
政府
引用和資源
2023年4月19日更新
給我們反饋
的磚SQL司機走了是一個去庫,允許您使用代碼到磚計算資源上運行SQL命令。
開發機器運行,版本1.18或更高版本。打印的安裝版本,運行命令去版本。下載並安裝上。
去版本
現有的集群或SQL倉庫。
的服務器主機名,港口,HTTP路徑現有集群的值或SQL倉庫。
把這些值集群。
對於SQL倉庫得到這些值。
一個磚個人訪問令牌。
管理個人訪問令牌。
訪問集群和SQL倉庫使用sql.Open ()創建一個數據庫處理通過數據源名稱(DSN)連接字符串。這個代碼示例檢索一個環境變量命名的DSN連接字符串DATABRICKS_DSN:
sql.Open ()
DATABRICKS_DSN
包主要進口(“數據庫/ sql”“操作係統”_"github.com/databricks/databricks-sql-go”)函數主要(){dsn:=操作係統。采用(“DATABRICKS_DSN”)如果dsn= =”“{恐慌(“沒有連接字符串。”+“設置DATABRICKS_DSN環境變量,再試一次。”)}db,犯錯:=sql。開放(“磚”,dsn)如果犯錯! =零{恐慌(犯錯)}推遲db。關閉()如果犯錯:=db。平();犯錯! =零{恐慌(犯錯)}}
指定DSN連接字符串以正確的格式,使用以下語法,地點:
(你的令牌)是你的磚的個人訪問令牌的需求。
(你的令牌)
(工作空間主機名)是服務器主機名價值的需求。
(工作空間主機名)
(端口數量)是港口價值的需求。
(端口數量)
(端點HTTP路徑)是HTTP路徑價值的需求。
(端點HTTP路徑)
參數值是一個或多個可選參數在本文的稍後部分列出。
參數值
令牌(你的令牌):@(工作區主機名):(端口號)(HTTP路徑端點)?參數=價值
例如,對於一個集群:
令牌:dapi1ab2c34defabc567890123d4efa56789@1234567890123456.7.gcp.www.eheci.com: 443 / sql / protocolv1 / o / 1234567890123456/1234 - 567890 abcdefgh
例如,對於一個SQL倉庫:
令牌:dapi1ab2c34defabc567890123d4efa56789@1234567890123456.7.gcp.www.eheci.com: 443 / sql / 1.0 /端點/ a1b234c5678901d2
請注意
作為一個安全最佳實踐,您不應該硬編碼這個DSN連接字符串到您的代碼。相反,你應該檢索這個DSN連接字符串從一個安全的位置。例如,在本文前麵的代碼示例使用了一個環境變量。
支持可選的連接參數可以指定參數值,包括:
目錄在會話:設置初始目錄的名字。
目錄
模式:設置初始模式名稱在會話中。
模式
maxRows:設置行獲取每個請求的最大數量。默認值是10000年。
maxRows
10000年
超時:添加超時(秒)為服務器查詢執行。默認是沒有超時。
超時
userAgentEntry:用於識別合作夥伴。有關更多信息,請參見你伴侶的文檔。
userAgentEntry
支持會話參數可以指定可選的參數值,包括:
ansi_mode:一個布爾值的字符串。真正的對於會話語句遵守規則指定的ANSI SQL規範。係統默認的是錯誤的。
ansi_mode
真正的
時區:例如,一個字符串美國/ Los_Angeles。設置時區的會話。係統默認是UTC。
時區
美國/ Los_Angeles
令牌:dapi1ab2c34defabc567890123d4efa56789@1234567890123456.7.gcp.www.eheci.com: 443 / sql / 1.0 /端點/ a1b234c5678901d2 ?目錄= hive_metastore&schema = example&maxRows = 100超時= 60時區=美國/ Sao_Paulo&ansi_mode = true
另外,使用sql.OpenDB ()創建一個數據庫處理通過創建一個新的連接器對象dbsql.NewConnector ()(連接到數據磚集群使用一個新的連接器對象和SQL倉庫需要v1.0.0磚SQL司機去的或更高)。例如:
sql.OpenDB ()
dbsql.NewConnector ()
包主要進口(“數據庫/ sql”“操作係統”“strconv”dbsql"github.com/databricks/databricks-sql-go”)函數主要(){港口,犯錯:=strconv。Atoi(操作係統。采用(“DATABRICKS_PORT”))如果犯錯! =零{恐慌(犯錯)}連接器,犯錯:=dbsql。NewConnector(dbsql。WithAccessToken(操作係統。采用(“DATABRICKS_ACCESS_TOKEN”)),dbsql。WithServerHostname(操作係統。采用(“DATABRICKS_HOST”)),dbsql。WithPort(港口),dbsql。WithHTTPPath(操作係統。采用(“DATABRICKS_HTTP_PATH”)),)如果犯錯! =零{恐慌(犯錯)}db:=sql。OpenDB(連接器)推遲db。關閉()如果犯錯:=db。平();犯錯! =零{恐慌(犯錯)}}
作為一個安全最佳實踐,你不應該硬編碼訪問令牌,服務器的主機名、端口和HTTP端點的路徑字符串到您的代碼。相反,你應該檢索這些值從一個安全的位置。例如,前麵的代碼使用環境變量。
支持功能選項包括:
WithServerHostname(<工作區主機名>字符串):服務器主機名價值的需求。必需的。
WithServerHostname(<工作區主機名>字符串)
WithPort(<口>int):服務器的端口號,一般443年。必需的。
WithPort(<口>int)
443年
WithAccessToken(<你令牌>字符串):你的磚個人需求的訪問令牌。必需的。
WithAccessToken(<你令牌>字符串)
WithHTTPPath(<端點HTTP路徑>字符串):HTTP路徑價值的需求。要求。
WithHTTPPath(<端點HTTP路徑>字符串)
WithInitialNamespace(<目錄>字符串,<模式>字符串):目錄和模式的名字在會話中。可選的。
WithInitialNamespace(<目錄>字符串,<模式>字符串)
WithMaxRows(<馬克斯行>int):行獲取每個請求的最大數量。默認值是10000年。可選的。
WithMaxRows(<馬克斯行>int)
10000年。
WithSessionParams (< params_map >map [string]字符串):會話參數包括“時區”和“ansi_mode”。可選的。
WithSessionParams (< params_map >map [string]字符串)
WithTimeout(<超時>持續時間)。超時(time.Duration服務器查詢執行)。默認是沒有超時。可選的。
WithTimeout(<超時>持續時間)
time.Duration
WithUserAgentEntry (< isv的名字+產品名稱>字符串)。用於識別合作夥伴。有關更多信息,請參見你伴侶的文檔。可選的。
WithUserAgentEntry (< isv的名字+產品名稱>字符串)
例如:
連接器,犯錯:=dbsql。NewConnector(dbsql。WithServerHostname(操作係統。采用(“DATABRICKS_HOST”)),dbsql。WithPort(操作係統。采用(“DATABRICKS_PORT”)),dbsql。WithAccessToken(操作係統。采用(“DATABRICKS_ACCESS_TOKEN”)),dbsql。WithHTTPPath(操作係統。采用(“DATABRICKS_HTTP_PATH”)),dbsql。WithInitialNamespace(“hive_metastore”,“例子”),dbsql。WithMaxRows(One hundred.),dbsql。SessionParams(地圖(字符串]字符串{“時區”:“美國/ Sao_Paulo”,“ansi_mode”:“真正的”}),dbsql。WithTimeout(時間。一分鍾),dbsql。WithUserAgentEntry(“example-user”),)
下麵的代碼示例演示了如何調用磚SQL司機去磚計算資源上運行一個基本的SQL查詢。這個命令返回的前兩行鑽石表。
鑽石
的鑽石表是包含在樣本數據集。這個表也在與筆記本電腦教程:查詢數據。
這段代碼示例檢索DSN連接字符串從一個環境變量命名DATABRICKS_DSN。
包主要進口(“數據庫/ sql”“fmt”“操作係統”_"github.com/databricks/databricks-sql-go”)函數主要(){dsn:=操作係統。采用(“DATABRICKS_DSN”)如果dsn= =”“{恐慌(“沒有連接字符串。”+“設置DATABRICKS_DSN環境變量,再試一次。”)}db,犯錯:=sql。開放(“磚”,dsn)如果犯錯! =零{恐慌(犯錯)}推遲db。關閉()var(_c0字符串克拉字符串減少字符串顏色字符串清晰字符串深度字符串表字符串價格字符串x字符串y字符串z字符串)行,犯錯:=db。查詢(“SELECT *從違約。鑽石限製2”)如果犯錯! =零{恐慌(犯錯)}推遲行。關閉()為行。下一個(){犯錯:=行。掃描(&_c0,&克拉,&減少,&顏色,&清晰,&深度,&表,&價格,&x,&y,&z)如果犯錯! =零{恐慌(犯錯)}fmt。打印(_c0,”、“,克拉,”、“,減少,”、“,顏色,”、“,清晰,”、“,深度,”、“,表,”、“,價格,”、“,x,”、“,y,”、“,z,“\ n”)}犯錯=行。犯錯()如果犯錯! =零{恐慌(犯錯)}}
輸出:
1、0.23、理想,E, SI2, 61.5, 55326, 3.95, 3.98, 2.43, 0.21,保險費,E, SI1, 59.8, 61326, 3.89, 3.84, 2.31
更多的例子,請參閱例子文件夾在磚/ databricks-sql-go GitHub庫。
的磚SQL司機走了在GitHub庫
數據庫/ sql教程
的數據庫/ sql包主頁