云服务器内容精选

  • 常用操作:SQL作业参数设置 确保kyuubi的/conf/kyuubi-defaults.conf配置打开如下参数开关。 kyuubi.engine.dli.set.conf.transform.to.annotation=true 在sql语句的末尾添加注解参数。 set 参数 示例: set dli.sql.current.database=tpch set dli.sql.shuffle.partitions=10 在 DLI 的SQL编辑器的执行效果:Set参数会修改为注释提交到DLI侧执行。 图4 在DLI的SQL编辑器查看配置的参数
  • 步骤1:安装并配置Kyuubi连接DLI 如需使用外网访问Kyuubi请确保弹性云服务器绑定弹性公网IP,并配置安全组入方向开启10009和3309端口。 安装JDK。 在安装和使用Kyuubi前,确保您的开发环境已安装JDK。 Java SDK要求使用JDK1.8或更高版本。考虑到后续版本的兼容性,推荐使用1.8版本。 下载JDK。 从Oracle官网下载并安装JDK1.8版本安装包。 本例使用jdk-8u261-linux-x64.tar.gz。 将jdk上传到linux服务器对应的目录下并执行解压命令,此处上传到/usr/local目录下。 sudo tar -xzf jdk-8u261-linux-x64.tar.gz -C /usr/local/ 配置环境变量。 编辑.bashrc或.profile文件,添加以下行: export JAVA_HOME=/usr/local/jdk-1.8.0_261 export PATH=$PATH:$JAVA_HOME/bin 执行以下命令应用环境变量。 source ~/.bashrc 执行命令java -version,检查是否安装成功,如下显示版本号信息说明java环境安装成功。 java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode) 安装Kyuubi 访问Apache Kyuubi的下载Kyuubi安装包。了解更多Kyuubi安装操作。 解压下载的Kyuubi安装包。 tar -xzf kyuubi-{version}-bin.tar.gz 配置环境变量(可选): 将Kyuubi的bin目录添加到PATH环境变量中,确保可以在任何位置调用Kyuubi的脚本。 配置Kyuubi连接DLI 在Kyuubi的根目录下添加DLI驱动。 在“DLI SDK DOWNLOAD”页面,单击Kyuubi驱动包链接,下载对应版本的驱动包。 并将该驱动放在kyuubi根目录/externals/engines/jdbc。 确保插件用户组和权限与其他Jar保持一致。 执行以下命令修改Kyuubi配置文件。 cd $KYUUBI_HOME/confvi kyuubi-defaults.conf 配置项说明请参考表1。 表1 kyuubi配置参数说明 配置项 说明 是否必选 示例 kyuubi.engine.type JDBC服务类型。这里请指定为dli。 是 jdbc kyuubi.engine.jdbc.type 引擎类型。请使用dli。 是 dli kyuubi.engine.jdbc.driver.class 连接JDBC服务使用的驱动类名。请使用com.huawei.dli.jdbc.DliDriver 是 com.huawei.dli.jdbc.DliDriver kyuubi.engine.jdbc.connection.url JDBC服务连接的URL。 格式:jdbc:dli://{dliendpoint} /{projectId} 是 jdbc:dli://{dliendpoint} /{projectId} kyuubi.engine.jdbc.session.initialize.sql 用于指定在建立JDBC会话时执行的初始化SQL语句。 否 select 1 如果在DLI的管理控制台看到select 1,代表初始化成功。 kyuubi.frontend.protocols 用于指定Kyuubi服务支持的前端协议。Kyuubi支持多种前端协议,允许用户通过不同的接口与Kyuubi进行交互。 是 mysql thrift_binary kyuubi.engine.dli.schema.show.name 用于指定当用户执行show schemas或show databases语句时,Kyuubi引擎如何展示数据源接口的模式名称。 true:表示在展示模式名称时,包含 DLI 的名称作为前缀。 false:表示在展示模式名称时,不包含 DLI 的名称。 例如如果配置为true,并且有一个DLI名称为 hive,那么在执行show schemas时,输出为hive.default的格式。 如果配置为false,输出为default的格式。 否 true false kyuubi.engine.dli.jdbc.connection.region DLI的区 域名 称和服务名称。 是 regionname=ap-southeast-2 kyuubi.engine.dli.jdbc.connection.queue DLI服务的队列名称。 是 dli_test kyuubi.engine.dli.jdbc.connection.database 用于指定Kyuubi引擎通过JDBC连接到DLI数据源时默认使用的数据库名称。 是 tpch kyuubi.engine.dli.jdbc.connection.ak AK/SK认证密钥。 如果使用AK/SK认证方式。 是 accesskey=your-access-key kyuubi.engine.dli.jdbc.connection.sk DLI的区域名称和服务名称。 如果使用AK/SK认证方式时配置。 是 secretkey=your-secret-key kyuubi.engine.dli.jdbc.connection.project DLI资源所在的项目ID。 是 0b33ea2a7e0010802fe4c009bb05076d kyuubi.engine.dli.sql.limit.time.sec SQL查询的执行时间限制。 默认600s 否 300 kyuubi.engine.dli.result.line.num.limit SQL查询的返回的最大条数。 默认返回10万条。 配置为-1代表不限制返回的条数。 是 50000 kyuubi.engine.dli.small.file.merge 配置是否开启小文件自动合并。默认为false,代表不开启。 true:开启 false:不开启 是 true kyuubi.engine.dli.bi.type 用于指定BI工具类型。 支持fine/ grafana/ superset/ tableau/ power/dbt/yongHong 是 fine kyuubi.engine.dli.boolean.type.to.int 定义DLI的Boolean类型数据是以1/0返回,还是true/false返回 当BI工具类型为Grafana时,需要设置为true。 true:按1/0返回(1:代表true,0:fales)。 false:按true/false返回。 默认取值false。 否 false kyuubi.engine.dli.set.conf.transform.to.annotation 支持在SQL中设置set spark参数。 PowerBI、FineBI、SuperSet、DBT需要设置为true。 否 true kyuubi.engine.dli.set.conf.sql.suffix 支持在SQL中尾端设置set spark参数。 PowerBI、DBT需要设置为true。 否 true kyuubi.engine.dli.result.cache.enable 是否开启库表数据缓存,开启后自动缓存库表信息。默认为true。 true:开启 false:不开启 否 true kyuubi.engine.dli.cache.limit.line.num 配置缓存的最大条数。 默认缓存10万条。 配置为-1代表不限制缓存的最大条数。 否 1000 kyuubi.engine.dli.cache.time.sec 配置缓存的时间。 默认为1800s。 否 1800 kyuubi.operation.incremental.collect kyuubi会预加载select结果数据到缓存加快读取数据,数据量较大的场景防止内存OOM建议关闭。 否 false 配置为false代表关闭预加载。 kyuubi.engine.jdbc.memory jdbc engine进程内存 默认为1g,建议改成5g以上加大jdbc engine进程内存使用 否 5g 快速启动kyuubi。 进入云服务器的根目录/bin执行以下命令启动kyuubi。 cd /bin ./kyuubi start restart 连接成功后,可以执行SQL查询来测试Kyuubi与DLI的连接是否正常工作。 (可选)配置主机的host文件提高Kyuubi的访问效率 为了提高Kyuubi的访问效率,建议在主机的/etc/hosts 配置Kyuubi主机IP的映射关系。 执行ifconfig查看主机IP地址。 图2 查看主机IP地址 将该IP配置在/etc/hosts文件中。 图3 在/etc/hosts文件中配置IP地址
  • 步骤3:配置Tableau使用ODBC连接到Kyuubi 单击并安装Tableau。获取Tableau安装包。 打开Tableau。 在开始页面的“连接”窗格中,选择你想要连接的数据源类型。本例选择Hive类型的数据连接。 配置数据连接信息。 连接:Hive 服务器:Kyuubi主机的IP地址。 端口:连接Kyuubi的端口,Hive Thrift协议对接,默认端口10009。 身份验证:本例选择用户名的认证方式。 用户名:Kyuubi用户名。 单击“登录”连接Kyuubi。
  • 常用操作:SQL作业参数设置 在sql语句的末尾添加注解参数。 -- @set 参数 示例: -- @set dli.sql.current.database=tpch -- @set dli.sql.shuffle.partitions=10 图6 Tableau参数配置示例 在DLI的SQL编辑器的执行效果:Set参数会修改为注释提交到DLI侧执行。 图7 在DLI的SQL编辑器查看配置的参数
  • 步骤1:安装并配置Kyuubi连接DLI 如需使用外网访问Kyuubi请确保弹性云服务器绑定弹性公网IP,并配置安全组入方向开启10009和3309端口。 安装JDK。 在安装和使用Kyuubi前,确保您的开发环境已安装JDK。 Java SDK要求使用JDK1.8或更高版本。考虑到后续版本的兼容性,推荐使用1.8版本。 下载JDK。 从Oracle官网下载并安装JDK1.8版本安装包。 本例使用jdk-8u261-linux-x64.tar.gz。 将jdk上传到linux服务器对应的目录下并执行解压命令,此处上传到/usr/local目录下。 sudo tar -xzf jdk-8u261-linux-x64.tar.gz -C /usr/local/ 配置环境变量。 编辑.bashrc或.profile文件,添加以下行: export JAVA_HOME=/usr/local/jdk-1.8.0_261 export PATH=$PATH:$JAVA_HOME/bin 执行以下命令应用环境变量。 source ~/.bashrc 执行命令java -version,检查是否安装成功,如下显示版本号信息说明java环境安装成功。 java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode) 安装Kyuubi 访问Apache Kyuubi的下载Kyuubi安装包。了解更多Kyuubi安装操作。 解压下载的Kyuubi安装包。 tar -xzf kyuubi-{version}-bin.tar.gz 配置环境变量(可选): 将Kyuubi的bin目录添加到PATH环境变量中,确保可以在任何位置调用Kyuubi的脚本。 配置Kyuubi连接DLI 在Kyuubi的根目录下添加DLI驱动。 在“DLI SDK DOWNLOAD”页面,单击Kyuubi驱动包链接,下载对应版本的驱动包。 并将该驱动放在kyuubi根目录/externals/engines/jdbc。 确保插件用户组和权限与其他Jar保持一致。 执行以下命令修改Kyuubi配置文件。 cd $KYUUBI_HOME/confvi kyuubi-defaults.conf 配置项说明请参考表1。 表1 kyuubi配置参数说明 配置项 说明 是否必选 示例 kyuubi.engine.type JDBC服务类型。这里请指定为dli。 是 jdbc kyuubi.engine.jdbc.type 引擎类型。请使用dli。 是 dli kyuubi.engine.jdbc.driver.class 连接JDBC服务使用的驱动类名。请使用com.huawei.dli.jdbc.DliDriver 是 com.huawei.dli.jdbc.DliDriver kyuubi.engine.jdbc.connection.url JDBC服务连接的URL。 格式:jdbc:dli://{dliendpoint} /{projectId} 是 jdbc:dli://{dliendpoint} /{projectId} kyuubi.engine.jdbc.session.initialize.sql 用于指定在建立JDBC会话时执行的初始化SQL语句。 否 select 1 如果在DLI的管理控制台看到select 1,代表初始化成功。 kyuubi.frontend.protocols 用于指定Kyuubi服务支持的前端协议。Kyuubi支持多种前端协议,允许用户通过不同的接口与Kyuubi进行交互。 是 mysql thrift_binary kyuubi.engine.dli.schema.show.name 用于指定当用户执行show schemas或show databases语句时,Kyuubi引擎如何展示数据源接口的模式名称。 true:表示在展示模式名称时,包含 DLI 的名称作为前缀。 false:表示在展示模式名称时,不包含 DLI 的名称。 例如如果配置为true,并且有一个DLI名称为 hive,那么在执行show schemas时,输出为hive.default的格式。 如果配置为false,输出为default的格式。 否 true false kyuubi.engine.dli.jdbc.connection.region DLI的区域名称和服务名称。 是 regionname=ap-southeast-2 kyuubi.engine.dli.jdbc.connection.queue DLI服务的队列名称。 是 dli_test kyuubi.engine.dli.jdbc.connection.database 用于指定Kyuubi引擎通过JDBC连接到DLI数据源时默认使用的数据库名称。 是 tpch kyuubi.engine.dli.jdbc.connection.ak AK/SK认证密钥。 如果使用AK/SK认证方式。 是 accesskey=your-access-key kyuubi.engine.dli.jdbc.connection.sk DLI的区域名称和服务名称。 如果使用AK/SK认证方式时配置。 是 secretkey=your-secret-key kyuubi.engine.dli.jdbc.connection.project DLI资源所在的项目ID。 是 0b33ea2a7e0010802fe4c009bb05076d kyuubi.engine.dli.sql.limit.time.sec SQL查询的执行时间限制。 默认600s 否 300 kyuubi.engine.dli.result.line.num.limit SQL查询的返回的最大条数。 默认返回10万条。 配置为-1代表不限制返回的条数。 是 50000 kyuubi.engine.dli.small.file.merge 配置是否开启小文件自动合并。默认为false,代表不开启。 true:开启 false:不开启 是 true kyuubi.engine.dli.bi.type 用于指定BI工具类型。 支持fine/ grafana/ superset/ tableau/ power/dbt/yongHong 是 fine kyuubi.engine.dli.boolean.type.to.int 定义DLI的Boolean类型数据是以1/0返回,还是true/false返回 当BI工具类型为Grafana时,需要设置为true。 true:按1/0返回(1:代表true,0:fales)。 false:按true/false返回。 默认取值false。 否 false kyuubi.engine.dli.set.conf.transform.to.annotation 支持在SQL中设置set spark参数。 PowerBI、FineBI、SuperSet、DBT需要设置为true。 否 true kyuubi.engine.dli.set.conf.sql.suffix 支持在SQL中尾端设置set spark参数。 PowerBI、DBT需要设置为true。 否 true kyuubi.engine.dli.result.cache.enable 是否开启库表数据缓存,开启后自动缓存库表信息。默认为true。 true:开启 false:不开启 否 true kyuubi.engine.dli.cache.limit.line.num 配置缓存的最大条数。 默认缓存10万条。 配置为-1代表不限制缓存的最大条数。 否 1000 kyuubi.engine.dli.cache.time.sec 配置缓存的时间。 默认为1800s。 否 1800 kyuubi.operation.incremental.collect kyuubi会预加载select结果数据到缓存加快读取数据,数据量较大的场景防止内存OOM建议关闭。 否 false 配置为false代表关闭预加载。 kyuubi.engine.jdbc.memory jdbc engine进程内存 默认为1g,建议改成5g以上加大jdbc engine进程内存使用 否 5g 快速启动kyuubi。 进入云服务器的根目录/bin执行以下命令启动kyuubi。 cd /bin ./kyuubi start restart 连接成功后,可以执行SQL查询来测试Kyuubi与DLI的连接是否正常工作。 (可选)配置主机的host文件提高Kyuubi的访问效率 为了提高Kyuubi的访问效率,建议在主机的/etc/hosts 配置Kyuubi主机IP的映射关系。 执行ifconfig查看主机IP地址。 图2 查看主机IP地址 将该IP配置在/etc/hosts文件中。 图3 在/etc/hosts文件中配置IP地址
  • 步骤2:安装SuperSet并配置数据连接驱动 下载并安装SuperSet。 详细安装操作指导请参考安装SuperSet 以Docker安装Superset为例: 安装Docker: 确保当前主机系统上安装了Docker。 拉取Superset Docker镜像: docker pull apache/superset 启动Superset容器: docker run -p 8088:8088 apache/superset 启动Superset容器,并将容器的8088端口映射到宿主机的8088端口。 访问Superset: 在浏览器中访问 http://localhost:8088,并使用默认的用户名和密码登录(通常为 admin/admin)。 下载数据驱动。获取Apach Hive驱动包,推荐使用pyhive 0.7.0版本。 安装操作指导请参考安装Hive驱动。
  • 常用操作:SQL作业参数设置 确保kyuubi的/conf/kyuubi-defaults.conf配置打开如下参数开关。 kyuubi.engine.dli.set.conf.transform.to.annotation=true 在sql语句的末尾添加注解参数。 set 参数 示例: set dli.sql.current.database=tpch set dli.sql.shuffle.partitions=10 图5 SuperSet参数配置示例 在DLI的SQL编辑器的执行效果:Set参数会修改为注释提交到DLI侧执行。 图6 在DLI的SQL编辑器查看配置的参数
  • 步骤1:安装并配置Kyuubi连接DLI 如需使用外网访问Kyuubi请确保弹性云服务器绑定弹性公网IP,并配置安全组入方向开启10009和3309端口。 安装JDK。 在安装和使用Kyuubi前,确保您的开发环境已安装JDK。 Java SDK要求使用JDK1.8或更高版本。考虑到后续版本的兼容性,推荐使用1.8版本。 下载JDK。 从Oracle官网下载并安装JDK1.8版本安装包。 本例使用jdk-8u261-linux-x64.tar.gz。 将jdk上传到linux服务器对应的目录下并执行解压命令,此处上传到/usr/local目录下。 sudo tar -xzf jdk-8u261-linux-x64.tar.gz -C /usr/local/ 配置环境变量。 编辑.bashrc或.profile文件,添加以下行: export JAVA_HOME=/usr/local/jdk-1.8.0_261 export PATH=$PATH:$JAVA_HOME/bin 执行以下命令应用环境变量。 source ~/.bashrc 执行命令java -version,检查是否安装成功,如下显示版本号信息说明java环境安装成功。 java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode) 安装Kyuubi 访问Apache Kyuubi的下载Kyuubi安装包。了解更多Kyuubi安装操作。 解压下载的Kyuubi安装包。 tar -xzf kyuubi-{version}-bin.tar.gz 配置环境变量(可选): 将Kyuubi的bin目录添加到PATH环境变量中,确保可以在任何位置调用Kyuubi的脚本。 配置Kyuubi连接DLI 在Kyuubi的根目录下添加DLI驱动。 在“DLI SDK DOWNLOAD”页面,单击Kyuubi驱动包链接,下载对应版本的驱动包。 并将该驱动放在kyuubi根目录/externals/engines/jdbc。 确保插件用户组和权限与其他Jar保持一致。 执行以下命令修改Kyuubi配置文件。 cd $KYUUBI_HOME/confvi kyuubi-defaults.conf 配置项说明请参考表1。 表1 kyuubi配置参数说明 配置项 说明 是否必选 示例 kyuubi.engine.type JDBC服务类型。这里请指定为dli。 是 jdbc kyuubi.engine.jdbc.type 引擎类型。请使用dli。 是 dli kyuubi.engine.jdbc.driver.class 连接JDBC服务使用的驱动类名。请使用com.huawei.dli.jdbc.DliDriver 是 com.huawei.dli.jdbc.DliDriver kyuubi.engine.jdbc.connection.url JDBC服务连接的URL。 格式:jdbc:dli://{dliendpoint} /{projectId} 是 jdbc:dli://{dliendpoint} /{projectId} kyuubi.engine.jdbc.session.initialize.sql 用于指定在建立JDBC会话时执行的初始化SQL语句。 否 select 1 如果在DLI的管理控制台看到select 1,代表初始化成功。 kyuubi.frontend.protocols 用于指定Kyuubi服务支持的前端协议。Kyuubi支持多种前端协议,允许用户通过不同的接口与Kyuubi进行交互。 是 mysql thrift_binary kyuubi.engine.dli.schema.show.name 用于指定当用户执行show schemas或show databases语句时,Kyuubi引擎如何展示数据源接口的模式名称。 true:表示在展示模式名称时,包含 DLI 的名称作为前缀。 false:表示在展示模式名称时,不包含 DLI 的名称。 例如如果配置为true,并且有一个DLI名称为 hive,那么在执行show schemas时,输出为hive.default的格式。 如果配置为false,输出为default的格式。 否 true false kyuubi.engine.dli.jdbc.connection.region DLI的区域名称和服务名称。 是 regionname=ap-southeast-2 kyuubi.engine.dli.jdbc.connection.queue DLI服务的队列名称。 是 dli_test kyuubi.engine.dli.jdbc.connection.database 用于指定Kyuubi引擎通过JDBC连接到DLI数据源时默认使用的数据库名称。 是 tpch kyuubi.engine.dli.jdbc.connection.ak AK/SK认证密钥。 如果使用AK/SK认证方式。 是 accesskey=your-access-key kyuubi.engine.dli.jdbc.connection.sk DLI的区域名称和服务名称。 如果使用AK/SK认证方式时配置。 是 secretkey=your-secret-key kyuubi.engine.dli.jdbc.connection.project DLI资源所在的项目ID。 是 0b33ea2a7e0010802fe4c009bb05076d kyuubi.engine.dli.sql.limit.time.sec SQL查询的执行时间限制。 默认600s 否 300 kyuubi.engine.dli.result.line.num.limit SQL查询的返回的最大条数。 默认返回10万条。 配置为-1代表不限制返回的条数。 是 50000 kyuubi.engine.dli.small.file.merge 配置是否开启小文件自动合并。默认为false,代表不开启。 true:开启 false:不开启 是 true kyuubi.engine.dli.bi.type 用于指定BI工具类型。 支持fine/ grafana/ superset/ tableau/ power/dbt/yongHong 是 fine kyuubi.engine.dli.boolean.type.to.int 定义DLI的Boolean类型数据是以1/0返回,还是true/false返回 当BI工具类型为Grafana时,需要设置为true。 true:按1/0返回(1:代表true,0:fales)。 false:按true/false返回。 默认取值false。 否 false kyuubi.engine.dli.set.conf.transform.to.annotation 支持在SQL中设置set spark参数。 PowerBI、FineBI、SuperSet、DBT需要设置为true。 否 true kyuubi.engine.dli.set.conf.sql.suffix 支持在SQL中尾端设置set spark参数。 PowerBI、DBT需要设置为true。 否 true kyuubi.engine.dli.result.cache.enable 是否开启库表数据缓存,开启后自动缓存库表信息。默认为true。 true:开启 false:不开启 否 true kyuubi.engine.dli.cache.limit.line.num 配置缓存的最大条数。 默认缓存10万条。 配置为-1代表不限制缓存的最大条数。 否 1000 kyuubi.engine.dli.cache.time.sec 配置缓存的时间。 默认为1800s。 否 1800 kyuubi.operation.incremental.collect kyuubi会预加载select结果数据到缓存加快读取数据,数据量较大的场景防止内存OOM建议关闭。 否 false 配置为false代表关闭预加载。 kyuubi.engine.jdbc.memory jdbc engine进程内存 默认为1g,建议改成5g以上加大jdbc engine进程内存使用 否 5g 快速启动kyuubi。 进入云服务器的根目录/bin执行以下命令启动kyuubi。 cd /bin ./kyuubi start restart 连接成功后,可以执行SQL查询来测试Kyuubi与DLI的连接是否正常工作。 (可选)配置主机的host文件提高Kyuubi的访问效率 为了提高Kyuubi的访问效率,建议在主机的/etc/hosts 配置Kyuubi主机IP的映射关系。 执行ifconfig查看主机IP地址。 图2 查看主机IP地址 将该IP配置在/etc/hosts文件中。 图3 在/etc/hosts文件中配置IP地址
  • 常用操作:SQL作业参数设置 确保kyuubi的/conf/kyuubi-defaults.conf配置打开如下参数开关。 kyuubi.engine.dli.set.conf.transform.to.annotation=true 在sql语句的末尾添加注解参数。 set 参数 示例: set dli.sql.current.database=tpch set dli.sql.shuffle.partitions=10 图6 FineBI参数配置示例 在DLI的SQL编辑器的执行效果:Set参数会修改为注释提交到DLI侧执行。 图7 在DLI的SQL编辑器查看配置的参数
  • 步骤1:安装并配置Kyuubi连接DLI 如需使用外网访问Kyuubi请确保弹性云服务器绑定弹性公网IP,并配置安全组入方向开启10009和3309端口。 安装JDK。 在安装和使用Kyuubi前,确保您的开发环境已安装JDK。 Java SDK要求使用JDK1.8或更高版本。考虑到后续版本的兼容性,推荐使用1.8版本。 下载JDK。 从Oracle官网下载并安装JDK1.8版本安装包。 本例使用jdk-8u261-linux-x64.tar.gz。 将jdk上传到linux服务器对应的目录下并执行解压命令,此处上传到/usr/local目录下。 sudo tar -xzf jdk-8u261-linux-x64.tar.gz -C /usr/local/ 配置环境变量。 编辑.bashrc或.profile文件,添加以下行: export JAVA_HOME=/usr/local/jdk-1.8.0_261 export PATH=$PATH:$JAVA_HOME/bin 执行以下命令应用环境变量。 source ~/.bashrc 执行命令java -version,检查是否安装成功,如下显示版本号信息说明java环境安装成功。 java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode) 安装Kyuubi 访问Apache Kyuubi的下载Kyuubi安装包。了解更多Kyuubi安装操作。 解压下载的Kyuubi安装包。 tar -xzf kyuubi-{version}-bin.tar.gz 配置环境变量(可选): 将Kyuubi的bin目录添加到PATH环境变量中,确保可以在任何位置调用Kyuubi的脚本。 配置Kyuubi连接DLI 在Kyuubi的根目录下添加DLI驱动。 在“DLI SDK DOWNLOAD”页面,单击Kyuubi驱动包链接,下载对应版本的驱动包。 并将该驱动放在kyuubi根目录/externals/engines/jdbc。 确保插件用户组和权限与其他Jar保持一致。 执行以下命令修改Kyuubi配置文件。 cd $KYUUBI_HOME/confvi kyuubi-defaults.conf 配置项说明请参考表1。 表1 kyuubi配置参数说明 配置项 说明 是否必选 示例 kyuubi.engine.type JDBC服务类型。这里请指定为dli。 是 jdbc kyuubi.engine.jdbc.type 引擎类型。请使用dli。 是 dli kyuubi.engine.jdbc.driver.class 连接JDBC服务使用的驱动类名。请使用com.huawei.dli.jdbc.DliDriver 是 com.huawei.dli.jdbc.DliDriver kyuubi.engine.jdbc.connection.url JDBC服务连接的URL。 格式:jdbc:dli://{dliendpoint} /{projectId} 是 jdbc:dli://{dliendpoint} /{projectId} kyuubi.engine.jdbc.session.initialize.sql 用于指定在建立JDBC会话时执行的初始化SQL语句。 否 select 1 如果在DLI的管理控制台看到select 1,代表初始化成功。 kyuubi.frontend.protocols 用于指定Kyuubi服务支持的前端协议。Kyuubi支持多种前端协议,允许用户通过不同的接口与Kyuubi进行交互。 是 mysql thrift_binary kyuubi.engine.dli.schema.show.name 用于指定当用户执行show schemas或show databases语句时,Kyuubi引擎如何展示数据源接口的模式名称。 true:表示在展示模式名称时,包含 DLI 的名称作为前缀。 false:表示在展示模式名称时,不包含 DLI 的名称。 例如如果配置为true,并且有一个DLI名称为 hive,那么在执行show schemas时,输出为hive.default的格式。 如果配置为false,输出为default的格式。 否 true false kyuubi.engine.dli.jdbc.connection.region DLI的区域名称和服务名称。 是 regionname=ap-southeast-2 kyuubi.engine.dli.jdbc.connection.queue DLI服务的队列名称。 是 dli_test kyuubi.engine.dli.jdbc.connection.database 用于指定Kyuubi引擎通过JDBC连接到DLI数据源时默认使用的数据库名称。 是 tpch kyuubi.engine.dli.jdbc.connection.ak AK/SK认证密钥。 如果使用AK/SK认证方式。 是 accesskey=your-access-key kyuubi.engine.dli.jdbc.connection.sk DLI的区域名称和服务名称。 如果使用AK/SK认证方式时配置。 是 secretkey=your-secret-key kyuubi.engine.dli.jdbc.connection.project DLI资源所在的项目ID。 是 0b33ea2a7e0010802fe4c009bb05076d kyuubi.engine.dli.sql.limit.time.sec SQL查询的执行时间限制。 默认600s 否 300 kyuubi.engine.dli.result.line.num.limit SQL查询的返回的最大条数。 默认返回10万条。 配置为-1代表不限制返回的条数。 是 50000 kyuubi.engine.dli.small.file.merge 配置是否开启小文件自动合并。默认为false,代表不开启。 true:开启 false:不开启 是 true kyuubi.engine.dli.bi.type 用于指定BI工具类型。 支持fine/ grafana/ superset/ tableau/ power/dbt/yongHong 是 fine kyuubi.engine.dli.boolean.type.to.int 定义DLI的Boolean类型数据是以1/0返回,还是true/false返回 当BI工具类型为Grafana时,需要设置为true。 true:按1/0返回(1:代表true,0:fales)。 false:按true/false返回。 默认取值false。 否 false kyuubi.engine.dli.set.conf.transform.to.annotation 支持在SQL中设置set spark参数。 PowerBI、FineBI、SuperSet、DBT需要设置为true。 否 true kyuubi.engine.dli.set.conf.sql.suffix 支持在SQL中尾端设置set spark参数。 PowerBI、DBT需要设置为true。 否 true kyuubi.engine.dli.result.cache.enable 是否开启库表数据缓存,开启后自动缓存库表信息。默认为true。 true:开启 false:不开启 否 true kyuubi.engine.dli.cache.limit.line.num 配置缓存的最大条数。 默认缓存10万条。 配置为-1代表不限制缓存的最大条数。 否 1000 kyuubi.engine.dli.cache.time.sec 配置缓存的时间。 默认为1800s。 否 1800 kyuubi.operation.incremental.collect kyuubi会预加载select结果数据到缓存加快读取数据,数据量较大的场景防止内存OOM建议关闭。 否 false 配置为false代表关闭预加载。 kyuubi.engine.jdbc.memory jdbc engine进程内存 默认为1g,建议改成5g以上加大jdbc engine进程内存使用 否 5g 快速启动kyuubi。 进入云服务器的根目录/bin执行以下命令启动kyuubi。 cd /bin ./kyuubi start restart 连接成功后,可以执行SQL查询来测试Kyuubi与DLI的连接是否正常工作。 (可选)配置主机的host文件提高Kyuubi的访问效率 为了提高Kyuubi的访问效率,建议在主机的/etc/hosts 配置Kyuubi主机IP的映射关系。 执行ifconfig查看主机IP地址。 图2 查看主机IP地址 将该IP配置在/etc/hosts文件中。 图3 在/etc/hosts文件中配置IP地址
  • 常用操作:SQL作业参数设置 根据安装ODBC驱动类型选择配置方法: 使用Cloudera Hive ODBC (v2.5.12)驱动 只需在sql语句的末尾添加注解参数。 -- @set 参数 示例: -- @set dli.sql.current.database=tpch -- @set dli.sql.shuffle.partitions=100 图6 ODBC配置参数示例(Cloudera Hive ODBC) 使用Microsoft Hive ODBC (v2.6.12.1012)驱动 确保kyuubi的/conf/kyuubi-defaults.conf配置打开如下参数开关。 kyuubi.engine.dli.set.conf.transform.to.annotation=true kyuubi.engine.dli.set.conf.sql.suffix=true 在sql语句的末尾添加注解参数。 set 参数 示例: set dli.sql.current.database=tpch set dli.sql.shuffle.partitions=100 图7 ODBC配置参数示例(Microsoft Hive ODBC) 在DLI的SQL编辑器的执行效果: 图8 在DLI的SQL编辑器查看配置的参数
  • 步骤3:配置Power BI使用ODBC连接到Kyuubi 单击并安装PowerBI。获取PowerBI安装包。 打开Power BI Desktop。 单击“主页”选项卡下的“获取数据”按钮。 在“获取数据”窗口中,选择“更多...”以查看其他数据源选项。 从列表中选择“ODBC”作为数据源类型,然后单击“连接”。 在弹出的“ODBC驱动管理器”窗口中,选择步骤2:配置ODBC连接Kyuubi配置的ODBC数据源名称,单击“确定”。 Power BI将使用ODBC连接到Kyuubi,并允许你预览和选择数据库中的表和视图。 在预览库表时请选择limit,否则分区表将全表扫描。
  • 步骤1:安装并配置Kyuubi连接DLI 如需使用外网访问Kyuubi请确保弹性云服务器绑定弹性公网IP,并配置安全组入方向开启10009和3309端口。 安装JDK。 在安装和使用Kyuubi前,确保您的开发环境已安装JDK。 Java SDK要求使用JDK1.8或更高版本。考虑到后续版本的兼容性,推荐使用1.8版本。 下载JDK。 从Oracle官网下载并安装JDK1.8版本安装包。 本例使用jdk-8u261-linux-x64.tar.gz。 将jdk上传到linux服务器对应的目录下并执行解压命令,此处上传到/usr/local目录下。 sudo tar -xzf jdk-8u261-linux-x64.tar.gz -C /usr/local/ 配置环境变量。 编辑.bashrc或.profile文件,添加以下行: export JAVA_HOME=/usr/local/jdk-1.8.0_261 export PATH=$PATH:$JAVA_HOME/bin 执行以下命令应用环境变量。 source ~/.bashrc 执行命令java -version,检查是否安装成功,如下显示版本号信息说明java环境安装成功。 java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode) 安装Kyuubi 访问Apache Kyuubi的下载Kyuubi安装包。了解更多Kyuubi安装操作。 解压下载的Kyuubi安装包。 tar -xzf kyuubi-{version}-bin.tar.gz 配置环境变量(可选): 将Kyuubi的bin目录添加到PATH环境变量中,确保可以在任何位置调用Kyuubi的脚本。 配置Kyuubi连接DLI 在Kyuubi的根目录下添加DLI驱动。 在“DLI SDK DOWNLOAD”页面,单击Kyuubi驱动包链接,下载对应版本的驱动包。 并将该驱动放在kyuubi根目录/externals/engines/jdbc。 确保插件用户组和权限与其他Jar保持一致。 执行以下命令修改Kyuubi配置文件。 cd $KYUUBI_HOME/confvi kyuubi-defaults.conf 配置项说明请参考表1。 表1 kyuubi配置参数说明 配置项 说明 是否必选 示例 kyuubi.engine.type JDBC服务类型。这里请指定为dli。 是 jdbc kyuubi.engine.jdbc.type 引擎类型。请使用dli。 是 dli kyuubi.engine.jdbc.driver.class 连接JDBC服务使用的驱动类名。请使用com.huawei.dli.jdbc.DliDriver 是 com.huawei.dli.jdbc.DliDriver kyuubi.engine.jdbc.connection.url JDBC服务连接的URL。 格式:jdbc:dli://{dliendpoint} /{projectId} 是 jdbc:dli://{dliendpoint} /{projectId} kyuubi.engine.jdbc.session.initialize.sql 用于指定在建立JDBC会话时执行的初始化SQL语句。 否 select 1 如果在DLI的管理控制台看到select 1,代表初始化成功。 kyuubi.frontend.protocols 用于指定Kyuubi服务支持的前端协议。Kyuubi支持多种前端协议,允许用户通过不同的接口与Kyuubi进行交互。 是 mysql thrift_binary kyuubi.engine.dli.schema.show.name 用于指定当用户执行show schemas或show databases语句时,Kyuubi引擎如何展示数据源接口的模式名称。 true:表示在展示模式名称时,包含 DLI 的名称作为前缀。 false:表示在展示模式名称时,不包含 DLI 的名称。 例如如果配置为true,并且有一个DLI名称为 hive,那么在执行show schemas时,输出为hive.default的格式。 如果配置为false,输出为default的格式。 否 true false kyuubi.engine.dli.jdbc.connection.region DLI的区域名称和服务名称。 是 regionname=ap-southeast-2 kyuubi.engine.dli.jdbc.connection.queue DLI服务的队列名称。 是 dli_test kyuubi.engine.dli.jdbc.connection.database 用于指定Kyuubi引擎通过JDBC连接到DLI数据源时默认使用的数据库名称。 是 tpch kyuubi.engine.dli.jdbc.connection.ak AK/SK认证密钥。 如果使用AK/SK认证方式。 是 accesskey=your-access-key kyuubi.engine.dli.jdbc.connection.sk DLI的区域名称和服务名称。 如果使用AK/SK认证方式时配置。 是 secretkey=your-secret-key kyuubi.engine.dli.jdbc.connection.project DLI资源所在的项目ID。 是 0b33ea2a7e0010802fe4c009bb05076d kyuubi.engine.dli.sql.limit.time.sec SQL查询的执行时间限制。 默认600s 否 300 kyuubi.engine.dli.result.line.num.limit SQL查询的返回的最大条数。 默认返回10万条。 配置为-1代表不限制返回的条数。 是 50000 kyuubi.engine.dli.small.file.merge 配置是否开启小文件自动合并。默认为false,代表不开启。 true:开启 false:不开启 是 true kyuubi.engine.dli.bi.type 用于指定BI工具类型。 支持fine/ grafana/ superset/ tableau/ power/dbt/yongHong 是 fine kyuubi.engine.dli.boolean.type.to.int 定义DLI的Boolean类型数据是以1/0返回,还是true/false返回 当BI工具类型为Grafana时,需要设置为true。 true:按1/0返回(1:代表true,0:fales)。 false:按true/false返回。 默认取值false。 否 false kyuubi.engine.dli.set.conf.transform.to.annotation 支持在SQL中设置set spark参数。 PowerBI、FineBI、SuperSet、DBT需要设置为true。 否 true kyuubi.engine.dli.set.conf.sql.suffix 支持在SQL中尾端设置set spark参数。 PowerBI、DBT需要设置为true。 否 true kyuubi.engine.dli.result.cache.enable 是否开启库表数据缓存,开启后自动缓存库表信息。默认为true。 true:开启 false:不开启 否 true kyuubi.engine.dli.cache.limit.line.num 配置缓存的最大条数。 默认缓存10万条。 配置为-1代表不限制缓存的最大条数。 否 1000 kyuubi.engine.dli.cache.time.sec 配置缓存的时间。 默认为1800s。 否 1800 kyuubi.operation.incremental.collect kyuubi会预加载select结果数据到缓存加快读取数据,数据量较大的场景防止内存OOM建议关闭。 否 false 配置为false代表关闭预加载。 kyuubi.engine.jdbc.memory jdbc engine进程内存 默认为1g,建议改成5g以上加大jdbc engine进程内存使用 否 5g 快速启动kyuubi。 进入云服务器的根目录/bin执行以下命令启动kyuubi。 cd /bin ./kyuubi start restart 连接成功后,可以执行SQL查询来测试Kyuubi与DLI的连接是否正常工作。 (可选)配置主机的host文件提高Kyuubi的访问效率 为了提高Kyuubi的访问效率,建议在主机的/etc/hosts 配置Kyuubi主机IP的映射关系。 执行ifconfig查看主机IP地址。 图2 查看主机IP地址 将该IP配置在/etc/hosts文件中。 图3 在/etc/hosts文件中配置IP地址
  • 步骤2:在YongHong BI创建DLI的数据集 在YongHong BI SaaS生产环境主页,单击左侧导航栏中的“创建数据集”。 图2 创建数据集 在“数据集类型”页面中,选择创建“SQL数据集”,请参见图3。 图3 创建SQL数据集 在“创建数据集”页面中,左侧“数据源”栏选择已添加的DLI数据源,请参见图4。 图4 选择数据源 左侧“表”栏中单击右键,刷新表,将列出所有数据库及数据库下面的数据表(这是添加数据源时,“表结构模式”没有配置时的情况),请参见图5。 图5 刷新数据表 在左侧“SQL语句”栏中执行表查询命令”select * from table_name“,单击“刷新元数据”,再单击右侧“预览数据”栏下左侧的“预览元数据”,可查询出该表的元数据(包括字段,字段类型等),请参见图6。 图6 查询数据表 单击右侧“预览数据”栏下右侧的“数据细节”,可查询出该表的数据,请参见图7。 图7 查询数据表数据 在“创建数据集”页面工具栏中单击“保存”,完成创建数据集。 在YongHong BI连接DLI数据源并创建和数据集后,即可在YongHong BI中按需制作BI图表。
  • 操作前准备 环境要求: 已安装YongHong BI。 工具包: DLI的JDBC驱动:dli-jdbc-x.x.x.jar,驱动名称:huaweicloud-dli-jdbc-xxx-dependencies.jar。 连接信息: 表1 连接信息 类别 说明 获取方式 DLI AKSK AK/SK认证就是使用AK/SK对请求进行签名,从而通过身份认证。 获取AK/SK DLI Endpoint地址 地区与终端节点,即云服务在不同Region有不同的访问域名。 获取EndPoint DLI所在的项目ID 项目编号,用于资源隔离。 获取项目ID DLI区域信息 DLI所属区域信息 地区和终端节点