SQL Driver for Node.js

請注意

本文介紹了Databricks SQL Driver for Node.js,它是按原樣提供的,Databricks不通過客戶技術支持渠道支持它。問題和功能請求可以通過問題頁麵的磚/ databricks-sql-nodejs在GitHub回購。

Databricks SQL Driver for Node.js是一個node . js庫,允許您使用JavaScript代碼在Databricks計算資源上運行SQL命令。

需求

指定連接變量

為了訪問您的集群或SQL倉庫,Node.js的Databricks SQL Driver使用名為令牌server_hostname而且http_path,表示您的Databricks個人訪問令牌和您的集群或SQL倉庫的服務器主機名而且HTTP路徑值,分別。

Databricks的個人訪問令牌值令牌類似於:dapi1ab2c34defabc567890123d4efa56789

服務器主機名server_hostname類似於:dbc-a1b2345c-d6e7.cloud.www.eheci.com

HTTP路徑http_path類似於:對於集群,sql / protocolv1 / o / 1234567890123456/1234 - 567890 abcdefgh;對於SQL倉庫,/ sql / 1.0 /端點/ a1b234c5678901d2

請注意

作為安全最佳實踐,您不應該在代碼中硬編碼這些連接變量值。相反,您應該從安全位置檢索這些連接變量值。例如,本文後麵的代碼示例使用環境變量。

查詢數據

下麵的代碼示例演示了如何調用Node.js的Databricks SQL Driver在Databricks計算資源上運行基本的SQL查詢。對象的前兩行返回鑽石表格

鑽石表包含在樣本數據集.這張表也有特色作為一名數據科學家,開始使用Databricks

該代碼示例檢索令牌server_hostname而且http_path連接來自一組環境變量的變量值。這些環境變量的環境變量名如下:

  • DATABRICKS_TOKEN,它表示來自需求的Databricks個人訪問令牌。

  • DATABRICKS_SERVER_HOSTNAME,表示服務器主機名從需求中獲得價值。

  • DATABRICKS_HTTP_PATH,表示HTTP路徑從需求中獲得價值。

您可以使用其他方法來檢索這些連接變量值。使用環境變量隻是眾多方法中的一種。

常量DBSQLClient需要“@databricks / sql”);var令牌過程envDATABRICKS_TOKENvarserverHostname過程envDATABRICKS_SERVER_HOSTNAMEvarhttpPath過程envDATABRICKS_HTTP_PATH如果令牌||serverHostname||httpPath錯誤"找不到服務器主機名、HTTP路徑或個人訪問令牌。"+"檢查環境變量DATABRICKS_TOKEN, "+“DATABRICKS_SERVER_HOSTNAME, DATABRICKS_HTTP_PATH。”);常量客戶端DBSQLClient();常量跑龍套DBSQLClient跑龍套客戶端連接選項令牌令牌宿主serverHostname路徑httpPath})。然後異步客戶端= >常量會話等待客戶端openSession();常量queryOperation等待會話executeStatement聲明'從默認選擇*。鑽石限製2》選項runAsync真正的maxRows10000//該選項啟用直接結果特性。);常量結果等待queryOperationfetchAll({進步回調()= >{},});等待queryOperation關閉();控製台表格結果);等待會話關閉();等待客戶端關閉();})。((錯誤= >控製台日誌錯誤);});
進口DBSQLClient“@databricks / sql”進口IDBSQLSession“@databricks / sql / dist /合同/ IDBSQLSession”進口IOperation“@databricks / sql / dist /合同/ IOperation”varserverHostname字符串過程envDATABRICKS_SERVER_HOSTNAME||varhttpPath字符串過程envDATABRICKS_HTTP_PATH||var令牌字符串過程envDATABRICKS_TOKEN||如果serverHostname= =||httpPath= =||令牌= =錯誤"找不到服務器主機名、HTTP路徑或個人訪問令牌。"+"檢查環境變量DATABRICKS_SERVER_HOSTNAME "+“DATABRICKS_HTTP_PATH, DATABRICKS_TOKEN。”);常量客戶端DBSQLClientDBSQLClient();客戶端連接宿主serverHostname路徑httpPath令牌令牌})。然後異步客戶端= >常量會話IDBSQLSession等待客戶端openSession();常量queryOperationIOperation等待會話executeStatement'從默認選擇*。鑽石限製2》runAsync真正的maxRows10000//該選項啟用直接結果特性。);常量結果等待queryOperationfetchAll({進步回調()= >{},});等待queryOperation關閉();控製台表格結果);等待會話關閉();客戶端關閉();})。((錯誤= >控製台日誌錯誤);});

輸出:

┌─────────┬─────┬────────┬───────────┬───────┬─────────┬────────┬───────┬───────┬────────┬────────┬────────┐││(指數)_c0│克拉削減│││││清晰深度色表價格x y z│││││├─────────┼─────┼────────┼───────────┼───────┼─────────┼────────┼───────┼───────┼────────┼────────┼────────┤││0 ' 1 '││“0.23”“理想”│“E”││“SI2”“61.5”│“55”│326“│”3.95“││“3.98”“2.43”│││1 ' 2 '││“0.21”“溢價”│“E”│“SI1”││“59.8”61“│”326年││“3.89”“3.84”││“2.31”└─────────┴─────┴────────┴───────────┴───────┴─────────┴────────┴───────┴───────┴────────┴────────┴────────┘

有關其他示例,請參見例子在GitHub上的databricks/databricks-sql-nodejs倉庫中的文件夾。

額外的資源