若您需要在DBeaver中開發Spark SQL作業,可以將云原生數據倉庫 AnalyticDB MySQL 版的Spark Distribution SQL Engine服務看作數據源,并在DBeaver中新建數據庫連接,從而滿足您在DBeaver中使用Spark Distribution SQL Engine開發Spark SQL作業的業務需求。
前提條件
操作步驟
步驟一:啟動Spark Distribution SQL Engine
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版、基礎版或湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊
。在編輯器窗口上方,選擇Job型資源組,作業類型選擇SQLEngine。
在編輯器中輸入以下作業內容。
CONF spark.driver.resourceSpec=medium; CONF spark.executor.instances=1; CONF spark.executor.resourceSpec=small; CONF spark.app.name=Spark SQLEngine; CONF spark.sql.hive.metastore.version=adb; CONF spark.kubernetes.driverEnv.HIVE_SERVER2_USER=AdbSpark14****; CONF spark.kubernetes.driverEnv.HIVE_SERVER2_PASSWORD=Spark23****; CONF spark.adb.sessionTTLSeconds=604800;
參數說明:
參數
是否必填
說明
spark.app.name
是
Spark應用名稱。
spark.sql.hive.metastore.version
是
指定采用元數據服務版本,支持如下配置:
adb:連接AnalyticDB for MySQL中的元數據信息。
<hive_version>:指定Hive MetaStore的版本。
說明Spark支持的Hive版本,請參見Spark Configuration。
如需要連接自建的Hive Metastore,可以采用社區Spark的標準配置方式。請參見Spark Configuration。
spark.kubernetes.driverEnv.HIVE_SERVER2_USER
是
Spark Distribution SQL Engine服務的用戶名。用戶名需包含大寫字母、小寫字母和數字,長度無限制。
spark.kubernetes.driverEnv.HIVE_SERVER2_PASSWORD
是
Spark Distribution SQL Engine服務的密碼。密碼需包含大寫字母、小寫字母和數字,長度無限制。
spark.adb.sessionTTLSeconds
否
Spark Distribution SQL Engine銷毀時間。單位為秒(s),默認值為1200秒。即最后一個SQL代碼塊執行完畢,1200秒后Spark Distribution SQL Engine服務會自動銷毀。
重要Spark Distribution SQL Engine銷毀后,重啟Spark Distribution SQL Engine時,會重新生成一個新的連接地址。
如果您需要在DBeaver中長期使用Spark Distribution SQL Engine,建議將
spark.adb.sessionTTLSeconds
參數配置為604800
,避免Spark Distribution SQL Engine長時間沒有執行SQL而自動銷毀。
其他參數,請參見Spark應用配置參數說明。
步驟二:獲取域名連接地址
登錄云原生數據倉庫AnalyticDB MySQL控制臺,在左上角選擇集群所在地域。在左側導航欄,單擊集群列表,在企業版、基礎版或湖倉版頁簽下,單擊目標集群ID。
在左側導航欄,單擊
。在應用列表頁簽中,單擊目標Spark應用操作列的詳情,獲取Spark Distribution SQL Engine的域名地址,即
Spark JDBC Public Connect URL
對應的地址。
步驟三:在DBeaver中連接并使用Spark Distribution SQL Engine
打開DBeaver客戶端,單擊 。
在連接到數據庫頁面,選擇Apache Spark,單擊下一步。
配置Hadoop/Apache Spark 連接設置,參數說明如下:
參數
說明
連接方式
連接方式選擇為URL。
JDBC URL
請填寫步驟二中啟動Spark Distribution SQL Engine后獲取的域名連接地址。詳情請參見步驟二:獲取域名連接地址。
重要域名地址中的
{database name}
需替換為實際的數據庫名。用戶名
請填寫步驟一中啟動Spark Distribution SQL Engine時設置的Spark Distribution SQL Engine服務的用戶名。詳情請參見步驟一:啟動Spark Distribution SQL Engine。
密碼
請填寫步驟一中啟動Spark Distribution SQL Engine時設置的Spark Distribution SQL Engine服務的密碼。詳情請參見步驟一:啟動Spark Distribution SQL Engine。
上述參數配置完成后,單擊測試連接。
重要AnalyticDB for MySQL Spark拉起需要一定的時間,請在啟動Spark Distribution SQL Engine的作業運行1分鐘后再測試連接。
首次測試連接時,DBeaver會自動獲取需要下載的驅動信息,獲取完成后,請單擊下載,下載相關驅動。
測試連接成功后,單擊完成。
在數據庫導航頁簽下,展開對應數據源的子目錄,單擊對應數據庫。
在右側代碼框中輸入SQL語句,并單擊按鈕運行。
SHOW TABLES;
返回結果如下:
+-----------+-----------+-------------+ | namespace | tableName | isTemporary | +-----------+-----------+-------------+ | db | test | [] | +-----------+-----------+-------------+