检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Hudi表初始化 初始化导入存量数据通常由Spark作业来完成,由于初始化数据量通常较大,因此推荐使用API方式给充足资源来完成。 对于批量初始化后需要接Flink或Spark流作业实时写入的场景,一般建议通过对上有消息进行过滤,从一个指定的时间范围开始消费来控制数据的重复接入量
json:指定使用 JSON 格式。 options:用于设置表的选项。 path:指定OBS中JSON文件的路径。 父主题: SQL作业开发类
a, b: a + b) # write counts.saveAsTextFile(out_file_name) 父主题: Spark作业开发类
park异步执行Compaction,不...中提到的异步Compaction任务,这里给出以下开发建议: 不需要对每张Hudi表都开发异步Compaction任务,这样会导致作业开发成本上升。 异步Compaction任务可以通过提交Spark SQL作业来完成,也可以在Spark
创建函数 功能描述 DLI支持创建使用UDF和UDTF等自定义函数应用于Spark作业开发当中。 具体使用自定义函数端到端的开发指导可以参考:Spark SQL作业使用UDF和Spark SQL作业使用UDTF。 语法格式 1 2 3 4 5 CREATE FUNCTION [db_name
Jar作业是基于Flink能力进行二次开发的场景,即构建自定义应用Jar包并提交到DLI的队列运行。 Flink Jar作业场景需要用户自行编写并构建应用Jar包,适用于对流计算处理复杂度要求较高的用户场景,且用户可以熟练掌握Flink二次开发能力。 本节操作介绍在DLI管理控制台创建Flink
管理DLI全局变量 什么是全局变量 DLI支持在管理控制台设置全局变量,将作业开发过程中频繁使用的变量设置为全局变量,可以避免在编辑作业过程中重复定义,减少开发与维护成本。通过使用全局变量可以替换长难复杂变量,简化复杂参数,提升SQL语句可读性。 本节操作为您介绍如何创建全局变量。
使用Spark-submit提交Spark Jar作业 DLI Spark-submit简介 DLI Spark-submit是一个用于提交Spark作业到DLI服务端的命令行工具,该工具提供与开源Spark兼容的命令行。 准备工作 授权。 DLI使用统一身份认证服务(Identity
skewedPartitionMaxSplits表示倾斜拆分力度,可不加,默认为5,最大为10。 单击“执行”重新运行作业,查看优化效果。 父主题: SQL作业开发类
查询结果写入桶”功能,必须提交工单申请加入白名单。 DLI支持13种数据类型,每一种类型都可以映射成一种JDBC类型,在使用JDBC连接服务器时,请使用映射后的JAVA类型,映射关系如表1所示。 表1 数据类型映射 DLI类型 JDBC类型 JAVA类型 INT INTEGER java
如何建立增强型跨源连接,请参考《数据湖探索用户指南》中增强型跨源连接章节。 如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。 Flink跨源开发场景中直接配置跨源认证信息存在密码泄露的风险,优先推荐您使用DLI提供的跨源认证。 跨源认证简介及操作方法请参考跨源认证简介。 注意事项 创建Flink
认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 表1 DLI获取访问凭据相关开发指南 类型 操作指导 说明 Flink作业场景 Flink Opensource SQL使用DEW管理访问凭据 Flink Opensource
ment”,可以查看Driver信息和Executor信息。 图3 Driver信息 图4 Executor信息 父主题: Spark作业开发类
Hudi表索引设计规范 规则 禁止修改表索引类型。 Hudi表的索引会决定数据存储方式,随意修改索引类型会导致表中已有的存量数据与新增数据之间出现数据重复和数据准确性问题。常见的索引类型如下: 布隆索引:Spark引擎独有索引,采用bloomfiter机制,将布隆索引内容写入到Parquet文件的footer中。
Hudi表分区设计规范 规则 分区键不可以被更新: Hudi具有主键唯一性机制,但在分区表的场景下通常只能保证分区内主键唯一,因此如果分区键的值发生变更后,会导致相同主键的行记录出现多条的情况。在以日期分区的场景,可采用数据的创建时间为分区字段,切记不要采用数据更新时间做分区。
Hudi数据表Clean规范 Clean也是Hudi表的维护操作之一,该操作对于MOR表和COW表都需要执行。Clean操作的目的是为了清理旧版本文件(Hudi不再使用的数据文件),这不但可以节省Hudi表List过程的时间,也可以缓解存储压力。 规则 Hudi表必须执行Clean。
DLI将Flink作业的输出数据输出到云搜索服务CSS的Elasticsearch中。Elasticsearch是基于Lucene的当前流行的企业级搜索服务器,具备分布式多用户的能力。其主要功能包括全文检索、结构化搜索、分析、聚合、高亮显示等。能为用户提供实时搜索、稳定可靠的服务。适用于日志分析、站内搜索等场景。
Hudi数据表Archive规范 Archive(归档)是为了减轻Hudi读写元数据的压力,所有的元数据都存放在这个路径:Hudi表根目录/.hoodie目录,如果.hoodie目录下的文件数量超过10000就会发现Hudi表有非常明显的读写时延。 规则 Hudi表必须执行Archive。
stamte() st.execute("set spark.sql.shuffle.partitions=20") 父主题: Spark作业开发类
SQL作业从PostgreSQL CDC源表读取数据写入到DWS的开发示例。 Flink Jar作业开发 Flink Jar作业开发基础样例 通过自定义作业与MRS进行交互为例进行介绍Flink Jar作业开发样例。 使用Flink Jar写入数据到OBS开发指南 介绍将kafka数据处理后写入到OBS的操作样例。