若您需要在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 | [] | +-----------+-----------+-------------+