华为云用户手册

  • 入参 { "params":{ "objectId": "XXXX", "role":"source", "latestOnly":false } } objectId:对象ID。 role:角色,源数据模型或目标数据模型。 latestOnly:目标对象是否仅返回源对象关联的最新版本目标对象,默认为false。(仅对M-V模型有效,即返回所有版本)
  • 示例场景 假设有一个源端为RelationLeft,目标端为RelationRight的关系实体(RelationTest)。其中, RelationLeft有两个关系实例,唯一编码为454580805678901111和454580805678902222。 RelationRight有两个关系实例,唯一编码为454580805678903333和454580805678904444。 并创建了如下唯一编码的关系实例: 1313:源端为454580805678901111,目标端为454580805678903333。 2424:源端为454580805678902222,目标端为454580805678904444。 1414:源端为454580805678901111,目标端为454580805678904444。
  • 请求示例 POST https://dme.cn-north-4.huaweicloud.com/rdm_fce01234567d41828cf3473b07fa7ae2_app/services/rdm/basic/api/upload/uploadFile?applicationId=e22c66fb1d05453fa33162772e3cc9c0&attributeName=LargeFiles&dataType=entity&encrypted=false&exaAttr=1&modelName=Industrial_File&modelNumber=DM00127283&storageType=0&username=XDM_User X-Auth-Token: ABCDEFJ.... [MultipartFile Form files]
  • URI URI格式: POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/upload/uploadFile 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器 域名 或IP地址。 appID 是 String 应用ID。 modelNumber 是 String 数据模型的编码。 modelName 是 String 数据模型的英文名称。 dataType 否 String 数据模型的类型。 entity:数据实体 relation:关系实体 attributeName 是 String 数据模型的属性英文名称。 applicationId 是 String 应用ID。 username 是 String 用户名。 storageType 是 Integer 文件的存储类型。 0:对象存储 1:BLOB instanceId 是 String 数据实例 的唯一编码。 exaAttr 是 String 是否为扩展属性。 0:非扩展属性 1:扩展属性 encrypted 否 Boolean 是否加密。当“storageType”设置为“0”时,需要设置此参数。 true:加密 false:不加密
  • 功能介绍 通过“文件管理”接口“upload_uploadFile”可以将本地的文件上传至工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)中。完成文件上传后,可在调用数据实例的创建/更新接口时,将文件与该数据实例进行关联,从而实现对象化管理文件。 “upload_uploadFile”接口最大支持上传100M文件。如需上传大于100M的文件,请使用分块上传的接口。 本文仅指导您如何通过API方式上传简单文件。关于如何创建/更新数据实例的接口请参见全量数据服务。
  • 操作步骤 进入HarddiskTracing_GetDetailList服务详情页切换至“服务开发”页签,可以看到系统已根据步骤1:服务定义中编排的自动生成高效的服务查询脚本。 图1 服务开发 单击“运行”,弹出输入请求参数窗口。 在“PurchaserSN_BarCode”、“PurchaserSN_Item_SN”输入框中输入值,单击“验证环境运行”或“生产环境运行”。 (可选)修改出参名称。 如果对出参展示名称不满意,可在脚本编辑框中进行修改后再次运行。
  • 使用说明 如果数据实体的父模型具有数据分类管理,该数据实体自动继承数据分类管理,且不可去除勾选。如果后续父模型删除了数据分类管理功能,该数据实体将不再继承父模型的数据分类管理功能,但可以自己重新勾选数据分类管理功能。 如果数据实体为Master-Version模型数据实体(即“父模型”选择为“VersionObject”),则只能在Version模型上选择数据分类管理功能,Master模型和Branch模型不支持选择数据分类管理功能。
  • 概述 数据分类管理是工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)为了方便用户将同维度的数据实例进行分门别类管理、实例数据统一归集的能力。数据分类管理指的是数据实例之间存在的“多对多”关系数据结构,主要包含“数据分类”和“数据分类对象”两个部分。 数据分类:“父模型”为“AbstractCategory”的数据实体。“AbstractCategory”是xDM-F用于将用户自定义数据实体设置为数据分类的抽象概念。一个“父模型”为“AbstractCategory”的数据实体表示一种数据分类。 数据分类对象:具有“数据分类管理”功能的数据实体,即用户在应用设计态创建数据实体时,在“功能列表”中勾选了“数据分类管理”功能。具有“数据分类管理”功能的数据实体对外提供如下数据分类相关接口。 表1 数据分类管理相关接口 接口名称 描述 addToCategory 将数据分类对象数据实例添加至数据分类数据实例中。 removeFromCategory 将数据分类数据实例从数据分类对象数据实例中移除。 更多数据分类管理的接口信息请参见全量数据服务。
  • 下一步操作 反向建模完成后,您可以在iDME执行如下操作。 您可以... 进行... 进入“枚举类型”页面 为数据模型预设枚举值,具体操作请参见创建枚举。 进入“接口模型”页面 自定义接口模型,对数据实体或关系实体的公共特性进行抽象&接口化,具体操作请参见创建接口模型。 发布自定义的接口模型,具体操作请参见发布接口模型。 进入“数据实体”页面 查看创建的数据实体,具体操作请参见查看数据实体。 数据实体属性的添加、修改、删除和上下位置调整,具体操作请参见管理数据实体属性。 为创建的数据实体添加其他iDME内置的工业数据能力,具体操作请参见管理功能配置。 发布创建的数据实体,具体操作请参见发布数据实体。 进入“关系实体”页面 查看创建的关系实体,具体操作请参见查看关系实体。 关系实体属性的添加、修改、删除和上下位置调整,具体操作请参见管理关系实体属性。 为创建的关系实体添加其他iDME内置的工业数据能力,具体操作请参见管理功能配置。 发布创建的关系实体,具体操作请参见发布关系实体。 单击右上方的“应用发布” 应用的发布,生成相应代码包,具体操作请参见发布应用。 完成发布应用后,返回控制台 应用部署至数据建模引擎,具体操作请参见部署应用。 进入应用运行态 相关全量数据服务API的开发操作,具体操作请参见数据建模引擎使用指南。
  • 前提条件 已开通iDME设计服务和购买iDME运行服务。本章节以购买体验版数据建模引擎为例。 已创建与本地服务器已有数据库类型一致的应用,具体操作请参见创建应用。 即,如本地服务器的数据库类型为MySQL,则创建“数据库类型”为“MySQL”的应用。本章节以MySQL数据库类型为例。 已获取如下本地服务器的数据库信息,且该数据库可正常连通。 表1 MySQL数据库信息 类型 描述 数据库名称 database_test 用户名 root 密码 123456 数据库地址 192.168.10.10:3306/database_test 已确定需要将哪些物理表反向生成模型。
  • 操作场景 反向建模是从数据库物理表到数据模型的映射,相对于将数据模型映射到数据库物理表的正向建模。 当您的本地服务器中已有数据库和物理表,且希望通过工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)统一管理所有模型时,可使用反向建模功能,将已有物理表反向建模至iDME的数据模型中。此功能可帮助您无需再次执行创建模型的操作,即可快速创建数据模型,节省了大量时间成本。
  • 常用操作: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地址
  • 操作前准备 工具包 DLI的JDBC驱动: 单击dli-jdbc-x.x.x.jar获取JDBC驱动,驱动名称:huaweicloud-dli-jdbc-xxx-dependencies.jar。 DBeaver客户端安装包: DBeaver官网提供了针对不同操作系统的客户端安装包,单击下载DBeaver访问DBeaver官网下载系统对应的DBeaver客户端安装包并完成安装 。推荐使用24.0.3版本的DBeaver。 连接信息: 表1 连接信息 类别 说明 获取方式 DLI AKSK AK/SK认证就是使用AK/SK对请求进行签名,从而通过身份认证。 获取AK/SK DLI Endpoint地址 地区与终端节点,即云服务在不同Region有不同的访问域名。 获取EndPoint DLI所在的项目ID 项目编号,用于资源隔离。 获取项目ID DLI区域信息 DLI所属区域信息 地区和终端节点
  • 常用操作:SQL作业参数设置 在sql语句的末尾添加注解参数。 -- @set 参数 示例: -- @set dli.sql.current.database=tpch -- @set dli.sql.shuffle.partitions=10 图6 Tableau参数配置示例 在DLI的SQL编辑器的执行效果:Set参数会修改为注释提交到DLI侧执行。 图7 在DLI的SQL编辑器查看配置的参数
  • 步骤3:配置Tableau使用ODBC连接到Kyuubi 单击并安装Tableau。获取Tableau安装包。 打开Tableau。 在开始页面的“连接”窗格中,选择你想要连接的数据源类型。本例选择Hive类型的数据连接。 配置数据连接信息。 连接:Hive 服务器:Kyuubi主机的IP地址。 端口:连接Kyuubi的端口,Hive Thrift协议对接,默认端口10009。 身份验证:本例选择用户名的认证方式。 用户名:Kyuubi用户名。 单击“登录”连接Kyuubi。
  • 步骤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 在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地址
  • 常用操作: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获取JDBC驱动,驱动名称:huaweicloud-dli-jdbc-xxx-dependencies.jar。 连接信息: 表1 连接信息 类别 说明 获取方式 DLI AKSK AK/SK认证就是使用AK/SK对请求进行签名,从而通过身份认证。 获取AK/SK DLI Endpoint地址 地区与终端节点,即云服务在不同Region有不同的访问域名。 获取EndPoint DLI所在的项目ID 项目编号,用于资源隔离。 获取项目ID DLI区域信息 DLI所属区域信息 地区和终端节点
  • 步骤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地址
  • 最佳实践内容概览 表1 DLI最佳实践 方案 说明 使用DLI分析车联网场景驾驶行为数据 使用DLI进行车联网场景驾驶行为数据分析。 使用DLI将 CS V数据转换为Parquet数据 使用DLI将CSV数据转换为Parquet数据的方法。 使用DLI分析电商BI报表 以某商城真实的用户、商品、评论数据(脱敏后)为基础,介绍使用DLI进行电商BI报表分析的方法。 使用DLI分析账单消费数据 以DLI实际消费数据为样例,介绍使用DLI进行账单分析和成本优化的措施。 使用DLI分析电商实时业务数据 使用DLI Flink完成电商业务实时数据的分析处理。 配置DBeaver连接DLI进行数据查询和分析 介绍DBeaver连接DLI并提交SQL查询的操作步骤。 配置DBT连接DLI进行数据调度和分析 介绍使用DBT提交DLI作业的操作步骤。 配置YongHong BI连接DLI进行数据查询和分析 介绍YongHong BI连接DLI的操作步骤。 配置PowerBI通过Kyuubi连接DLI进行数据查询和分析 介绍PowerBI基于Kyuubi连接DLI,以访问和分析DLI中的数据的操作步骤。 配置Fine BI通过Kyuubi连接DLI进行数据查询和分析 介绍Fine BI基于Kyuubi连接DLI的操作步骤。 配置SuperSet通过Kyuubi连接DLI进行数据查询和分析 介绍Superset基于Kyuubi连接DLI的操作步骤。 配置Tableau通过Kyuubi连接DLI进行数据查询和分析 介绍Tableau基于Kyuubi连接DLI的操作步骤。 配置Beeline通过Kyuubi连接DLI进行数据查询和分析 介绍Beeline基于Kyuubi连接DLI的操作步骤。
  • 规则约束 所有涉及update、delete的规则项,均不支持多表操作审核。 update、delete多表操作仅支持规则项:“不应用单条update、delete语句对多个表实现更新、删除操作”。 对于“在PL/pgSQL中,关键字建议大写,非关键字小写”、“sql语句中,关键字建议大写,非关键字小写”规则项,不要在以对象名作为非保留关键字的语句中使用,存在审核不准确情况,比如:SELECT ID FROM name,name是非保留关键字。 对于规则“对分区表执行交换分区、合并分区、分隔分区、清空分区、删除分区时,必须同步更新全局索引”,在用户修改数据库系统参数enable_gpi_auto_update后,该规则可能失效,请在数据库侧清理session,可登录到数据库中执行: CLEAN CONNECTION TO ALL FORCE FOR DATABASE db_name; “查询系统视图时,如果使用对象名作为筛选条件,对象名应使用小写”支持的系统视图参见表2。 “谨慎删除数据库对象及清理数据”,其中阈值中支持审核SQL语法见表表3 表2 视图审核 视图名 所属schema 表示对象名的列 adm_arguments pg_catalog、sys owner、object_name、package_name、argument_name adm_audit_object pg_catalog、sys username、owner、obj_name、action_name adm_audit_session pg_catalog、sys username、action_name adm_audit_statement pg_catalog、sys username、obj_name、action_name adm_col_comments pg_catalog、sys owner、table_name、column_name、schema adm_col_privs pg_catalog、sys grantor、owner、grantee、table_schema、table_name、column_name、privilege adm_coll_types pg_catalog、sys owner、type_name、elem_type_mod、elem_type_owner、elem_type_name adm_constraints pg_catalog、sys owner、constraint_name、table_name、index_owner、index_name adm_indexes pg_catalog、sys owner、index_name、table_name、table_owner、tablespace_name adm_ind_columns pg_catalog、sys index_owner、index_name、table_name、table_owner、column_name adm_objects pg_catalog、sys owner、object_name、subobject_name adm_procedures pg_catalog、sys owner、object_name、procedure_name、impltypeowner、impltypename adm_role_privs pg_catalog、sys grantee、granted_role adm_tab_col_statistics pg_catalog、sys owner、table_name、column_name、schema adm_roles pg_catalog、sys role adm_source pg_catalog、sys owner、name adm_sys_privs pg_catalog、sys grantee、privilege adm_tab_cols pg_catalog、sys owner、table_name、column_name、data_type_owner、schema、qualified_col_name adm_tab_privs pg_catalog、sys grantee、owner、table_name、grantor、privilege adm_tables pg_catalog、sys owner、table_name、tablespace_name adm_tab_columns pg_catalog、sys owner、table_name、column_name、data_type_owner、schema adm_tab_comments pg_catalog、sys owner、table_name、column_name、schema adm_tab_statistics pg_catalog、sys owner、table_name adm_triggers pg_catalog、sys owner、trigger_name、table_owner、table_name adm_type_attrs pg_catalog、sys type_name、attr_name、attr_type_name、character_set_name adm_types pg_catalog、sys owner、type_name adm_users pg_catalog、sys username、default_tablespace、temporary_tablespace、default_collation adm_views pg_catalog、sys owner、view_name db_all_tables pg_catalog、sys owner、table_name、tablespace_name db_arguments pg_catalog、sys owner、object_name、package_name、argument_name db_col_comments pg_catalog、sys owner、table_name、column_name、schema db_col_privs pg_catalog、sys grantor、owner、grantee、table_schema、table_name、column_name、privilege db_coll_types pg_catalog、sys owner、type_name、elem_type_mod、elem_type_owner、elem_type_name db_constraints pg_catalog、sys owner、constraint_name、table_name、index_owner、index_name db_indexes pg_catalog、sys owner、index_name、table_name、table_owner、tablespace_name db_ind_columns pg_catalog、sys index_owner、index_name、table_name、table_owner、column_name db_objects pg_catalog、sys owner、object_name、subobject_name db_procedures pg_catalog、sys owner、object_name db_tab_col_statistics pg_catalog、sys owner、table_name、column_name、schema db_source pg_catalog、sys owner、name db_tab_columns pg_catalog、sys owner、table_name、column_name、data_type_owner、schema db_tab_comments pg_catalog、sys owner、table_name、schema db_tables pg_catalog、sys owner、table_name、tablespace_name db_triggers pg_catalog、sys trigger_name、table_owner、table_name db_types pg_catalog、sys owner、type_name db_users pg_catalog、sys username db_views pg_catalog、sys owner、view_name dict pg_catalog、sys table_name dictionary pg_catalog、sys table_name my_col_comments pg_catalog、sys owner、table_name、column_name、schema my_col_privs pg_catalog、sys grantor、owner、grantee、table_schema、table_name、column_name、privilege my_coll_types pg_catalog、sys owner、type_name、elem_type_mod、elem_type_owner、elem_type_name my_constraints pg_catalog、sys owner、constraint_name、table_name、index_owner、index_name my_indexes pg_catalog、sys owner、index_name、table_name、table_owner、tablespace_name my_ind_columns pg_catalog、sys index_owner、index_name、table_name、table_owner、column_name my_objects pg_catalog、sys object_name、subobject_name my_procedures pg_catalog、sys owner、object_name、procedure_name、impltypeowner、impltypename my_role_privs pg_catalog、sys grantee、granted_role my_tab_col_statistics pg_catalog、sys table_name、column_name、schema my_source pg_catalog、sys owner、name my_tab_columns pg_catalog、sys owner、table_name、column_name、data_type_owner、schema my_tab_comments pg_catalog、sys owner、table_name、column_name、schema my_tab_statistics pg_catalog、sys table_name my_tables pg_catalog、sys owner、table_name、tablespace_name my_triggers pg_catalog、sys owner、trigger_name、table_owner、table_name my_type_attrs pg_catalog、sys type_name、attr_name、attr_type_name、character_set_name my_types pg_catalog、sys type_name my_views pg_catalog、sys owner、view_name pg_indexes pg_catalog、sys schemaname、tablename、indexname、tablespace pg_roles pg_catalog、sys rolename pg_tables pg_catalog、sys schemaname、tablename、tableowner、tablespace、tablecreator pg_user pg_catalog、sys username、nodegroup pg_views pg_catalog、sys schemaname、viewname、viewowner column_privileges information_schema、sys grantor、grantee、table_catalog、table_schema、table_name、column_name columns information_schema、sys table_catalog、table_schema、table_name、column_name constraint_column_usage information_schema、sys table_catalog、table_schema、table_name、column_name、constraint_catalog、constraint_schema、constraint_name constraint_table_usage information_schema、sys table_catalog、table_schema、table_name、constraint_catalog、constraint_schema、constraint_name enabled_roles information_schema、sys role_name schemata information_schema、sys catalog_name、schema_name、schema_owner、default_character_set_catalog、default_character_set_schema、default_character_set_name table_constraints information_schema、sys constraint_catalog、constraint_schema、constraint_name、table_catalog、table_schema、table_name table_privileges information_schema、sys grantor、grantee、table_catalog、table_schema、table_name tables information_schema、sys table_catalog、table_schema、table_name、self_referencing_column_name、user_defined_type_catalog、user_defined_type_schema、user_defined_type_name triggers information_schema、sys trigger_catalog、trigger_schema、trigger_name、event_object_catalog、event_object_schema、event_object_table、action_reference_old_table、action_reference_new_table usage_privileges information_schema、sys grantor、grantee、object_catalog、object_schema、object_name views information_schema、sys table_catalog、table_schema、table_name 表3 支持审核的SQL语法 DDL类型 SQL语法 DROP DROP TABLE, DROP TABLESPACE, DROP AGGREGATE, DROP AUDIT POLICY, DROP CAST, DROP DATABASE, DROP DATA SOURCE, DROP DIRECTORY, DROP EVENT, DROP FOREIGN TABLE, DROP GLOBAL CONFIGURATION, DROP GROUP, DROP MASKING POLICY, DROP MATERIALIZED VIEW, DROP MODEL, DROP OPERATOR, DROP OWNED, DROP PACKAGE, DROP PACKAGE BODY, DROP PROCEDURE, DROP RESOURCE LABEL, DROP RESOURCE POOL, DROP ROLE, DROP ROW LEVEL SECURITY POLICY, DROP RULE, DROP PUBLICATION, DROP SCHEMA, DROP SEQUENCE, DROP FUNCTION, DROP SERVER, DROP SUBSCRIPTION, DROP SYNONYM, DROP TEXT SEARCH CONFIGURATION, DROP TEXT SEARCH DICTIONARY, DROP TRIGGER, DROP TYPE, DROP USER, DROP USER MAPPING, DROP VIEW, DROP WEAK PASSWORD DICTIONARY ALTER ALTER DROP PARTITION, ALTER TRUNCATE PARTITION, ALTER DROP COLUMN, ALTER DROP CONSTRAINT, ALTER DROP FOREIGN TABLE, ALTER DROP AUDIT POLICY, ALTER DROP MASKING POLICY, ALTER DROP SERVER, ALTER DROP TEXT SEARCH CONFIGURATION, ALTER DROP USER MAPPING, ALTER DROP DATA SOURCE TRUNCATE TRUNCATE
  • 约束限制 规则的嵌套审核仅支持四种语法,详情可参见表1。 推荐索引功能仅支持 GaussDB 。 With as只支持SELECT语句。 别名不能和实体表重名,且别名之间不能重名。 不支持审核视图中的表审核。 不支持审核数据库系统表及系统视图审核。 不支持审核含有“#”的MySQL语句。 表1 支持的嵌套审核语句 序号 SQL语句 1 select id, (select 子查询) as name from table; 2 select id from table where id in (select 子查询); 3 select * from table1,(select 子查询); 4 with e as (select 子查询) select * from e;
共100000条