通过DBVisualizer使用Spark Distribution SQL Engine

DBVisualizer提供了图形化的界面,使SQL的管理和执行更加直观和简便。如果您需要在DBVisualizer中开发Spark SQL作业,可以通过Hive驱动连接Spark Distribution SQL Engine。本文为您介绍在DBVisualizer客户端中使用Spark Distribution SQL Engine开发Spark SQL作业的具体流程。

前提条件

  • 集群的产品系列为企业版、基础版或湖仓版

  • 已创建Job型资源组。具体操作,请参见新建资源组

  • 已创建数据库账号。

  • 下载并安装DBVisualizer,且DBVisualizer客户端为24.0.0及以上版本。

  • 已将DBVisualizer客户端的IP地址添加至AnalyticDB for MySQL白名单中。具体操作,请参见白名单

操作步骤

步骤一:启动Spark Distribution SQL Engine

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在企业版、基础版或湖仓版页签下,单击目标集群ID。

  2. 在左侧导航栏,单击作业开发 > Spark Jar开发

  3. 在编辑器窗口上方,选择Job型资源组,作业类型选择SQLEngine

  4. 在编辑器中输入以下作业内容。

    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.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时,会重新生成一个新的连接地址。

    • 如果您需要在DBVisualizer中长期使用Spark Distribution SQL Engine,建议将spark.adb.sessionTTLSeconds参数配置为604800,避免Spark Distribution SQL Engine长时间没有执行SQL而自动销毁。

  5. 单击立即执行

步骤二:获取域名连接地址

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在企业版、基础版或湖仓版页签下,单击目标集群ID。

  2. 在左侧导航栏,单击作业开发 > Spark Jar开发

  3. 应用列表页签中,单击目标Spark应用操作列的详情,获取Spark Distribution SQL Engine的域名地址,即Spark JDBC Public Connect URL对应的地址。

步骤三:在DBVisualizer中连接并使用Spark Distribution SQL Engine

  1. 打开DBVisualizer客户端,单击Tools > Driver Manager

  2. Driver Manage页面,选择Hive,单击image按钮

  3. Driver Settings页签下,配置如下参数:

    参数

    说明

    Name

    Hive数据源名称,您可以自定义名称。

    URL Format

    请填写步骤二中获取的Spark Distribution SQL Engine的域名地址。详情请参见步骤二:获取域名连接地址

    Driver Class

    Hive驱动,固定选择为org.apache.hive.jdbc.HiveDriver

    说明

    参数配置完成后,请单击Start Download,下载对应驱动。

  4. 驱动下载完成后,单击Database > Create Database Connection > Create Database Connection from Database URL

  5. Create Database Connection from Database URL对话框中填写以下参数:

    参数

    说明

    Database URL

    请填写步骤二中获取的Spark Distribution SQL Engine的域名地址。详情请参见步骤二:获取域名连接地址

    Driver

    选择步骤3创建的Hive数据源。详情请参见Hive数据源

  6. Connection页面配置以下连接参数:

    参数

    说明

    Name

    默认与步骤3创建的Hive数据源同名,您可以自定义名称。

    Notes

    备注信息。

    Driver Type

    选择Hive

    Database URL

    请填写步骤二中获取的Spark Distribution SQL Engine的域名地址。详情请参见步骤二:获取域名连接地址

    Database Userid

    请填写步骤一中启动Spark Distribution SQL Engine时设置的Spark Distribution SQL Engine服务的用户名。详情请参见步骤一:启动Spark Distribution SQL Engine

    Database Password

    请填写步骤一中启动Spark Distribution SQL Engine时设置的Spark Distribution SQL Engine服务的密码。详情请参见步骤一:启动Spark Distribution SQL Engine

    说明

    其他参数无需配置,使用默认值即可。

  7. 单击Connect

  8. 连接成功后,在Database页签下,展开对应数据源的子目录,单击对应数据库。

  9. 在右侧代码框中输入SQL语句,并单击image按钮运行。

    SHOW TABLES;

    返回结果如下:

    +-----------+-----------+-------------+
    | namespace | tableName | isTemporary |
    +-----------+-----------+-------------+
    |    db     |   test    |    false    |
    +-----------+-----------+-------------+