检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Hudi数据表Compaction规范 mor表更新数据以行存log的形式写入,log读取时需要按主键合并,并且是行存的,导致log读取效率比parquet低很多。为了解决log读取的性能问题,Hudi通过compaction将log压缩成parquet文件,大幅提升读取性能。 规则
Hudi表索引设计规范 规则 禁止修改表索引类型。 Hudi表的索引会决定数据存储方式,随意修改索引类型会导致表中已有的存量数据与新增数据之间出现数据重复和数据准确性问题。常见的索引类型如下: 布隆索引:Spark引擎独有索引,采用bloomfiter机制,将布隆索引内容写入到Parquet文件的footer中。
Hudi表分区设计规范 规则 分区键不可以被更新: Hudi具有主键唯一性机制,但在分区表的场景下通常只能保证分区内主键唯一,因此如果分区键的值发生变更后,会导致相同主键的行记录出现多条的情况。在以日期分区的场景,可采用数据的创建时间为分区字段,切记不要采用数据更新时间做分区。
Hudi数据表Clean规范 Clean也是Hudi表的维护操作之一,该操作对于MOR表和COW表都需要执行。Clean操作的目的是为了清理旧版本文件(Hudi不再使用的数据文件),这不但可以节省Hudi表List过程的时间,也可以缓解存储压力。 规则 Hudi表必须执行Clean。
Hudi数据表Archive规范 Archive(归档)是为了减轻Hudi读写元数据的压力,所有的元数据都存放在这个路径:Hudi表根目录/.hoodie目录,如果.hoodie目录下的文件数量超过10000就会发现Hudi表有非常明显的读写时延。 规则 Hudi表必须执行Archive。
数据湖探索简介 什么是数据湖探索 数据湖探索(Data Lake Insight,简称DLI)是完全兼容Apache Spark、Apache Flink、HetuEngine生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务。用户不需要管理任何服务器,即开即用。
Hudi表模型设计规范 规则 Hudi表必须设置合理的主键。 Hudi表提供了数据更新和幂等写入能力,该能力要求Hudi表必须设置主键,主键设置不合理会导致数据重复。主键可以为单一主键也可以为复合主键,两种主键类型均要求主键不能有null值和空值,可以参考以下示例设置主键: SparkSQL:
创建SQL作业的API执行超过时间限制,运行超时报错 问题现象 DLI上调用“提交SQL作业”API运行超时,报如下错误信息: There are currently no resources tracked in the state, so there is nothing to
常用操作与系统权限关系 表1列出了DLI SQL常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。更多SQL语法赋权请参考《权限列表》章节。 表1 DLI常用操作与系统权限的关系 资源 操作 说明 DLI FullAccess DLI ReadOnlyAccess Tenant
作业特性 “所属队列”选择CCE队列时,设置该参数。表示用户作业使用的Spark镜像类型,具体说明如下: 基础型:DLI提供的基础镜像,运行非AI相关作业时选择“基础型”。 自定义镜像:自定义的Spark镜像,需要选择“容器镜像服务”中设置的镜像名称及版本。 依赖jar包(--jars)
配置多版本过期数据回收站 功能描述 在DLI数据多版本功能开启后,过期的备份数据后续在执行insert overwrite或者truncate语句时会被系统直接清理。OBS并行文件系统可以通过配置回收站加速删除操作过期的备份数据。通过在表属性添加配置“dli.multi.version
作业语义检验时提示DIS通道不存在怎么处理? 处理方法如下: 登录到DIS管理控制台,在左侧菜单栏选择“通道管理”。检查Flink作业SQL语句中的DIS通道是否存在。 如果Flink作业中的DIS通道还未创建,请参见《数据接入服务用户指南》中“开通DIS通道”章节。 确保创建的
概述 欢迎使用数据湖探索。 数据湖探索(Data Lake Insight,简称DLI)是完全兼容Apache Spark、Apache Flink、trino生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务。用户不需要管理任何服务器,即开即用。支持标准SQL/Spark
创建表时指定表的生命周期 功能描述 DLI提供了表生命周期管理功能,在创建表时指定表的生命周期。DLI会根据每张表的最后修改时间和表的生命周期来判断是否要回收此表。通过设置表的生命周期,可以帮助您更好的管理数目众多的表,自动清理长期不再使用的数据表,简化数据表的回收流程。同时支持数据恢复设置,避免因误操作丢失数据。
Spark 2.4.x与Spark 3.3.x版本在SQL队列的差异对比 DLI整理了Spark 2.4.x与Spark 3.3.x版本在SQL队列的差异,便于您了解Spark版本升级后SQL队列上运行的作业在适配新版本引擎时的影响。 histogram_numeric函数的返回值的类型不同
Spark异步任务执行表compaction参数设置规范 写作业未停止情况下,禁止手动执行run schedule命令生成compaction计划。 错误示例: run schedule on dsrTable 如果还有别的任务在写这张表,执行该操作会导致数据丢失。 执行run
下载并安装JDBC驱动包 操作场景 JDBC用于连接DLI服务,您可以在Maven获取JDBC安装包,或在DLI管理控制台下载JDBC驱动文件。 本文介绍通过JDBC连接DLI并提交SQL作业。 获取服务端连接地址 连接DLI服务的地址格式为:jdbc:dli://<endPoi
执行SQL查询语句报错:DLI.0003: Permission denied for resource.... 问题现象 执行SQL查询语句,提示没有对应资源查询权限。 报错信息:DLI.0003: Permission denied for resource 'databases
DLI JDBC Driver支持的API列表 DLI JDBC Driver支持JDBC标准的众多API,也有部分API不支持用户调用,例如涉及事务调用的API“prepareCall”,调用这类API将抛出“SQLFeatureNotSupportedException”异常
怎样将老版本的Spark队列切换成通用型队列 当前DLI服务包括“SQL队列”和“通用队列”两种队列类型。 其中,“SQL队列”用于运行SQL作业,“通用队列”兼容老版本的Spark队列,用于运行Spark作业和Flink作业。 通过以下步骤,可以将老版本的“Spark队列”转换为新的“通用队列”。