检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在“SQL编辑器”页面的左侧导航栏中,选择“数据库”页签。 单击对应数据库名,进入该数据库的表列表。 鼠标左键单击对应表右侧的,在列表菜单中选择“表属性”,即可在“元数据”页签查看该表的元数据信息。 父主题: 创建数据库和表
Hudi数据表Clean规范 Clean也是Hudi表的维护操作之一,该操作对于MOR表和COW表都需要执行。Clean操作的目的是为了清理旧版本文件(Hudi不再使用的数据文件),这不但可以节省Hudi表List过程的时间,也可以缓解存储压力。 规则 Hudi表必须执行Clean。
SparkSQL建表参数规范 规则 建表必须指定primaryKey和preCombineField。 Hudi表提供了数据更新的能力和幂等写入的能力,该能力要求数据记录必须设置主键用来识别重复数据和更新操作。不指定主键会导致表丢失数据更新能力,不指定preCombineField会导致主键重复。
PARTITION:分区。 RENAME:重命名。 参数说明 表1 参数描述 参数 描述 table_name 表名称。 partition_specs 分区字段。 注意事项 该命令仅支持操作OBS表,不支持对DLI表进行操作。 所要重命名分区的表和分区必须已存在,否则会出错。新分区名不能与其他分区重名,否则将出错。
Spark表数据维护规范 禁止通过Alter命令修改表关键属性信息:type/primaryKey/preCombineField/hoodie.index.type 错误示例,执行如下语句修改表关键属性: alter table dsrTable set tblproperties('type'='xx');
Hudi数据表设计规范 Hudi表模型设计规范 Hudi表索引设计规范 Hudi表分区设计规范 父主题: DLI Hudi开发规范
Hudi表索引设计规范 规则 禁止修改表索引类型。 Hudi表的索引会决定数据存储方式,随意修改索引类型会导致表中已有的存量数据与新增数据之间出现数据重复和数据准确性问题。常见的索引类型如下: 布隆索引:Spark引擎独有索引,采用bloomfiter机制,将布隆索引内容写入到Parquet文件的footer中。
Hudi数据表管理操作规范 Hudi数据表Compaction规范 Hudi数据表Clean规范 Hudi数据表Archive规范 父主题: DLI Hudi开发规范
议使用。 建议 事实表采用日期分区表,维度表采用非分区或者大颗粒度的日期分区 是否采用分区表要根据表的总数据量、增量和使用方式来决定。从表的使用属性看事实表和维度表具有的特点: 事实表:数据总量大,增量大,数据读取多以日期做切分,读取一定时间段的数据。 维度表:总量相对小,增量小
流式计算采用MOR表。 流式计算为低时延的实时计算,需要高性能的流式读写能力,在Hudi表中存在的MOR和COW两种模型中,MOR表的流式读写性能相对较好,因此在流式计算场景下采用MOR表模型。关于MOR表在读写性能的对比关系如下: 对比维度 MOR表 COW表 流式写 高 低 流式读
Hudi数据表Archive规范 Archive(归档)是为了减轻Hudi读写元数据的压力,所有的元数据都存放在这个路径:Hudi表根目录/.hoodie目录,如果.hoodie目录下的文件数量超过10000就会发现Hudi表有非常明显的读写时延。 规则 Hudi表必须执行Archive。
规则 有数据持续写入的表,24小时内至少执行一次compaction。 对于MOR表,不管是流式写入还是批量写入,需要保证每天至少完成1次Compaction操作。如果长时间不做compaction,Hudi表的log将会越来越大,这必将会出现以下问题: Hudi表读取很慢,且需要很大的资源。
Spark异步任务执行表compaction参数设置规范 写作业未停止情况下,禁止手动执行run schedule命令生成compaction计划。 错误示例: run schedule on dsrTable 如果还有别的任务在写这张表,执行该操作会导致数据丢失。 执行run
DWS维表 功能描述 创建DWS表用于与输入流连接,从而生成相应的宽表。 前提条件 请务必确保您的账户下已在数据仓库服务(DWS)里创建了DWS集群。如何创建DWS集群,请参考《数据仓库服务管理指南》中“创建集群”章节。 请确保已创建DWS数据库表。 该场景作业需要运行在DLI的
min,s,ms等,默认为ms。 默认表示不使用该配置。 lookup.max-retries 否 3 Integer 维表配置,数据拉取最大重试次数。 示例 从Kafka源表中读取数据,将DWS表作为维表,并将二者生成的宽表信息写入Kafka结果表中,其具体步骤如下: 参考增强型跨
和分析服务。DWS的更多信息,请参见《数据仓库服务管理指南》。 前提条件 请务必确保您的账户下已在数据仓库服务(DWS)里创建了DWS集群。 如何创建DWS集群,请参考《数据仓库服务管理指南》中“创建集群”章节。 请确保已创建DWS数据库表。 该场景作业需要运行在DLI的独享队列
和分析服务。DWS的更多信息,请参见《数据仓库服务管理指南》。 前提条件 请务必确保您的账户下已在数据仓库服务(DWS)里创建了DWS集群。 如何创建DWS集群,请参考《数据仓库服务管理指南》中“创建集群”章节。 请确保已创建DWS数据库表。 该场景作业需要运行在DLI的独享队列
Hudi开发规范概述 范围 本节内容介绍DLI-Hudi组件进行湖仓一体、流批一体方案的设计与开发方面的规则,适用于Hudi开发场景的表的设计、管理与作业开发。 主要包括以下方面的规范: 数据表设计 资源配置 性能调优 常见故障处理 常用参数配置 术语约定 本规范采用以下的术语描述:
Spark增量读取Hudi参数规范 规则 增量查询之前必须指定当前表的查询为增量查询模式,并且查询后重写设置表的查询模式 如果增量查询完,不重新将表查询模式设置回去,将影响后续的实时查询 示例 以SQL作业为例: 配置参数 hoodie.tableName.consume.mode=INCREMENTAL
Spark on Hudi开发规范 SparkSQL建表参数规范 Spark增量读取Hudi参数规范 Spark异步任务执行表compaction参数设置规范 Spark表数据维护规范 父主题: DLI Hudi开发规范