华为云用户手册

  • 前提条件 已创建包含Doris服务的集群,集群内各服务运行正常。 待连接Doris数据库的节点与 MRS 集群网络互通。 已安装MySQL客户端,相关操作可参考使用MySQL客户端连接Doris章节。 创建具有Doris管理权限的用户。 集群已启用Kerberos认证(安全模式) 在 FusionInsight Manager中创建一个人机用户,例如“dorisuser”,创建一个拥有“Doris管理员权限”的角色绑定给该用户。 使用新建的用户dorisuser重新登录FusionInsight Manager,修改该用户初始密码。 集群未启用Kerberos认证(普通模式) 使用admin用户连接Doris后,创建具有管理员权限的角色并绑定给用户。
  • 索引状态介绍 索引状态反映了索引当前的使用情况,全局二级索引支持以下五种状态: ACTIVE:索引正常,可以正常读写。 UNUSABLE:索引被禁用,索引数据会正常写入,查询时无法使用这个索引。 INACTIVE:索引异常,索引数据与数据表不一致,跳过生成该索引的索引数据,查询数据时无法使用该索引。 BUILDING:索引数据正常批量生成,索引数据生成工具执行结束会自动转换到ACTIVE状态,此状态下可以正常读写。 DROPPING:索引正在被删除,跳过生成该索引的索引数据,查询数据时无法使用该索引。 基于工具的索引状态修改,支持图1所示的状态转换。 图1 索引状态转换图
  • 前提条件 已创建包含Doris服务的集群,集群内各服务运行正常。 待连接Doris数据库的节点与MRS集群网络互通。 已安装MySQL客户端,相关操作可参考使用MySQL客户端连接Doris章节。 创建具有Doris管理权限的用户。 集群已启用Kerberos认证(安全模式) 在FusionInsight Manager中创建一个人机用户,例如“dorisuser”,创建一个拥有“Doris管理员权限”的角色绑定给该用户。 使用新建的用户dorisuser重新登录FusionInsight Manager,修改该用户初始密码。 集群未启用Kerberos认证(普通模式) 使用admin用户连接Doris后,创建具有管理员权限的角色并绑定给用户。 已参考手动备份Doris数据完成备份需要恢复的Doris表或分区数据。
  • 数据恢复原理介绍 Doris数据恢复操作需指定一个远端仓库中已存在的备份数据,再将备份数据恢复到本地集群中。当提交Restore请求后,系统内部会做如下操作: 在本地创建对应的元数据 系统会在本地集群中创建恢复对应的表分区等结构。创建完成后,该表可见,但是不可访问。 本地snapshot 将在本地集群中创建的表做一个快照,是一个空快照(刚创建的表没有数据),用于在Backend上产生对应的快照目录,接收从远端仓库下载的快照文件。 下载快照 远端仓库中的快照文件,会被下载到对应的生成的快照目录中,由各个Backend并发完成。 生效快照 快照下载完成后,要将各个快照映射为当前本地表的元数据。然后重新加载这些快照,使之生效,完成最终的恢复作业。
  • 前提条件 集群已安装CDL、Hudi服务且运行正常。 Opengauss数据库需要开启预写日志功能,操作步骤请参考Opengauss数据库开启预写日志功能。 在FusionInsight Manager中创建一个人机用户,例如“cdluser”,加入用户组cdladmin、hadoop、kafka、supergroup,主组选择“cdladmin”组,关联角色“System_administrator”。
  • 回答 针对avro格式表查询报错,根本原因是avro格式表schema不匹配导致,需要考虑增量和存量avro格式表查询两个场景: 增量avro格式表,需要创建表之前设置参数spark.sql.forceConvertSchema.enabled=true,会将avro表格式强转指定数据类型,一次性修改schema。 存量avro格式表,查询avro表之前设置参数spark.sql.forceConvertSchema.enabled=true,如果查询失败,可能avro格式表schema被缓存,执行refresh table命令,清除缓存后再设置参数进行查询,会将avro表格式强转指定数据类型,客户端临时修改schema。
  • 查看作业健康步骤 访问Flink WebUI,请参考访问FlinkServer WebUI界面。 单击“作业管理”进入作业管理页面。 查看作业健康度 在作业管理页面查看当前作业的健康状态: 空:作业未运行,无健康状态 绿色图标:健康 黄色图标:亚健康 红色图标:不健康 导出所有作业健康报告 单击“作业健康报告”,系统会自动将所有作业的健康状态信息导出至本地,包括作业名称,健康度,提交用户,告警信息,配置信息和启动时间等。 健康度为“0”:健康 健康度为“1”:亚健康 健康度为“2”:不健康
  • 作业健康状态说明 当集群运行大量Flink作业时,为方便用户对每个作业进行健康状态评估,FlinkServer WebUI提供Flink作业健康度管理功能,用户可直接在页面查看当前作业的健康情况,并可一键导出所有作业的健康度信息。作业状态分如下情况: 健康:作业运行正常,作业状态健康。 亚健康: 出现“ALM-45637 Flink作业task持续背压”告警,根据告警信息修复告警后,健康状态自动恢复至健康。 出现“ALM-45639 Flink作业checkpoint完成时间超过阈值”告警,根据告警信息修复告警后,健康状态自动恢复至健康。 不健康: 出现“ALM-45636 Flink作业连续checkpoint失败”告警,根据告警信息修复告警后,健康状态自动恢复至健康。 出现“ALM-45638 Flink作业失败重启次数超阈值”告警,根据告警信息修复告警后,需重启该作业,作业自动恢复至健康。
  • 前提条件 集群运行正常,并已安装集群客户端。 提交作业前,需配置“客户端安装路径/Flink/flink/conf/flink-conf.yaml”文件,开启作业注册到FlinkServer功能和作业告警功能,参数设置如下: 表1 开启作业注册和作业告警功能 参数 值 描述 job.register.enable true 是否开启作业注册到FlinkServer: true:开启 false:不开启 job.alarm.enable true 是否开启作业告警: true:开启 false:不开启 通过客户端注册到FlinkServer的作业,如果未开启作业注册到FlinkServer功能,暂不支持在FlinkServer WebUI执行启动、开发、停止等操作。 需确保未使用“Session模式”提交作业并且需要指定作业名。
  • Doris用户权限说明 Doris目前支持的权限如表1所示。 表1 Doris权限列表 权限名称 权限介绍 Node_priv 节点变更权限。包括FE、BE、DBroker节点的添加、删除、下线等操作。 该权限只能赋予Global级别。 Admin_priv 除Node_priv以外的所有权限。 Grant_priv 权限变更权限,允许执行授权、撤权、添加/删除/变更用户或角色等操作。 拥有该权限的用户不能赋予其他用户“node_priv”权限,除非用户本身拥有“node_priv”权限。 Select_priv 对数据库、表的只读权限。 Load_priv 对数据库、表的写权限,包括Load、Insert、Delete等。 Alter_priv 对数据库、表的更改权限。包括重命名库/表、添加/删除/变更列、添加/删除分区等操作。 Create_priv 创建数据库、表、视图的权限。 Drop_priv 删除数据库、表、视图的权限。 Usage_priv 资源的使用权限和workload group权限。 根据权限适用范围的不同,将库表的权限分为以下四个层级: CATA LOG LEVEL:数据目录(Catalog)级权限。被授予的权限适用于指定Catalog中的任意库表。 DATABASE LEVEL:数据库级权限。被授予的权限适用于指定数据库中的任意表。 TABLE LEVEL:表级权限。被授予的权限适用于指定数据库中的指定表。 RESOURCE LEVEL: 资源级权限。被授予的权限适用于指定资源。 父主题: Doris用户权限管理
  • 常用Payload DefaultHoodieRecordPayload Hudi中默认使用DefaultHoodieRecordPayload,该Payload通过比较增量数据与存量数据的preCombineField字段值的大小来决定同主键的存量数据是否能被同主键的增量数据更新。在同主键的增量数据的preCombineField字段值绝对大于同主键的存量数据的preCombineField字段值时,同主键的增量数据将会被更新。 OverwriteWithLatestAvroPayload 该Payload保证同主键的增量数据永远都会更新至同主键的存量数据中。 PartialUpdateAvroPayload 该Payload继承了OverwriteNonDefaultsWithLatestAvroPayload,它可以保证在任何场景下增量数据中的null值不会覆盖存量数据。
  • Payload介绍 Payload是Hudi实现数据增量更新和删除的关键,它可以帮助Hudi在 数据湖 中高效的管理数据变更。Hudi Payload的格式是基于Apache Avro的,它使用了Avro的schema来定义数据的结构和类型。Payload可以被序列化和反序列化,以便在Hudi中进行数据的读取和写入。总之,Hudi Payload是Hudi的一个重要组成部分,它提供了一种可靠的、高效的、可扩展的方式来管理大规模数据湖中的数据变更。
  • 使用Payload Spark建表时指定Payload create table hudi_test(id int, comb int, price string, name string, par string) using hudi options(primaryKey = "id", preCombineField = "comb", payloadClass="org.apache.hudi.common.model.OverwriteWithLatestAvroPayload") partitioned by (par); Datasource方式写入时指定Payload data.write.format("hudi").option("hoodie.datasource.write.table.type", COW_TABLE_TYPE_OPT_VAL).option("hoodie.datasource.write.precombine.field", "comb").option("hoodie.datasource.write.recordkey.field", "id").option("hoodie.datasource.write.partitionpath.field", "par").option("hoodie.datasource.write.payload.class", "org.apache.hudi.common.model.DefaultHoodieRecordPayload").option("hoodie.datasource.write.keygenerator.class", "org.apache.hudi.keygen.SimpleKeyGenerator").option("hoodie.datasource.write.operation", "upsert").option("hoodie.datasource.hive_sync.enable", "true").option("hoodie.datasource.hive_sync.partition_fields", "par").option("hoodie.datasource.hive_sync.partition_extractor_class", "org.apache.hudi.hive.MultiPartKeysValueExtractor").option("hoodie.datasource.hive_sync.table", "hudi_test").option("hoodie.datasource.hive_sync.use_jdbc", "false").option("hoodie.upsert.shuffle.parallelism", 4).option("hoodie.datasource.write.hive_style_partitioning", "true").option("hoodie.table.name", "hudi_test").mode(Append).save(s"/tmp/hudi_test")
  • HBase全局二级索引API介绍说明 使用全局索引的API都在类“org.apache.hadoop.hbase.hindex.global.GlobalIndexAdmin”中,相关接口介绍如下: 操作 接口 描述 添加索引 addIndices() 将索引添加到没有数据的表中。调用此接口会将用户指定的索引添加到表中,但会跳过生成索引数据。该接口的使用场景为用户想要在具有大量预先存在用户数据的表上批量添加索引,然后使用GlobalTableIndexer工具来构建索引数据。 addIndicesWithData() 将索引添加到有数据的表中。此方法将用户指定的索引添加到表中,并会对已经存在的用户数据创建对应的索引数据,也可先调用该方法生成索引再在存入用户数据的同时生成索引数据。当数据表中存在大量数据时,不建议使用此接口。 删除索引 dropIndices() 仅删除索引,索引元数据与索引数据均会被删除,在此操作之后,索引不能用于scan/filter操作。 索引状态修改 alterGlobalIndicesUnusable() 禁用用户指定的索引,使其不再可用于scan/filter操作。 alterGlobalIndicesActive() 启用用户指定的索引,使其可用于scan/filter操作。 alterGlobalIndicesInactive() 禁用用户指定的索引,且放弃生成索引数据,不再可用于scan/filter操作,通常用于索引修复流程。 查看已创建的索引 listIndices() 可用于列出给定表中的所有索引。 父主题: HBase常见问题
  • Join-To-Live Flink双流Join需要将数据存储在状态后端,目前普遍使用Rocksdb作为状态后端。在TTL过大或无法确定TTL或数据流量增加的场景下,大流量会导致状态数据增加,增加存储压力,从而导致作业稳定性下降,或TTL过期可能出现数据关联不准确。 对于数据关联次数确定的业务,可以使用JTL(Join-To-Live)特性减少状态后端压力,JTL指根据关联次数确定数据是否过期,其可以通过如下两种方式配置: 仅支持Flink Regular Joins中的inner join语句。 不支持与作业级TTL、表级TTL、小表广播特性同时使用。 使用JTL特性的表需要指定主键,否则可能导致结果不准确。 方式一:可通过SQL Hint使用 eliminate-state.left.threshold:表示左边关联次数的阈值,超过阈值后,该条数据就会过期。 eliminate-state.right.threshold:表示右边关联次数的阈值,超过阈值后,该条数据就会过期。 示例一: SELECT * FROM t1 JOIN /*+ OPTIONS('eliminate-state.right.threshold'='1', 'eliminate-state.left.threshold'='2') */ t2 ON a1 = a2 示例二: SELECT a1, a2, a3 from t1 join /*+ OPTIONS('eliminate-state.left.threshold'='1', 'eliminate-state.right.threshold'='2') */ t2 on a1 = a2 join /*+ OPTIONS('eliminate-state.left.threshold'='3', 'eliminate-state.right.threshold'='4') */ t3 on a2 = a3 方式二:通过在“客户端安装路径/Flink/flink/conf/flink-conf.yaml”全局配置使用 table.exec.join.eliminate-state.left.thresholdtable.exec.join.eliminate-state.right.threshold 父主题: Flink企业级能力增强
  • Hudi TTL简介 TTL能力适用于MRS 3.5.0及之后的版本。 TTL能力目前只支持分区级别的TTL。 TTL(Time To Live)能力可以控制Hudi表中数据的生存周期,也称为数据老化。 考虑到如下两个场景: 场景1:如果需要在流场景中去删除老化的分区,只能停止流任务执行DDL命令去删除分区。 场景2:当前不支持批量的删除老化的分区。TTL现在支持在流任务或异步任务中去完成分区级数据老化。 父主题: Hudi TTL语法说明
  • 回答 使用root用户登录安装客户端的节点。 执行以下命令,切换到客户端安装目录,例如“/opt/client”。 cd /opt/client 执行以下命令配置环境变量。 source bigdata_env 根据集群认证模式,完成Hive客户端登录。 安全模式,则执行以下命令,完成用户认证并登录Hive客户端。 kinit 组件业务用户 beeline 普通模式,则执行以下命令,登录Hive客户端。 使用指定组件业务用户登录Hive客户端。 beeline -n 组件业务用户 不指定组件业务用户登录Hive客户端,则会以当前操作系统用户登录。 beeline 执行以下命令关闭客户端日志: set hive.server2.logging.operation.enabled=false; 执行以下命令查看客户端日志是否已关闭,如下图所示即为关闭成功。 set hive.server2.logging.operation.enabled;
  • 参数描述 表1 CREATE TABLE参数描述 参数 描述 database_name Database名称,由字母、数字和下划线(_)组成。 table_name Database中的表名,由字母、数字和下划线(_)组成。 columnTypeList 以逗号分隔的带数据类型的列表。列名由字母、数字和下划线(_)组成。 using 参数hudi,定义和创建Hudi table。 table_comment 表的描述信息。 location_path HDFS路径,指定该路径Hudi表会创建为外表。 options_list Hudi table属性列表。
  • 示例 创建非分区表 create table if not exists hudi_table0 (id int,name string,price double) using hudioptions (type = 'cow',primaryKey = 'id',preCombineField = 'price'); 创建分区表 create table if not exists hudi_table_p0 (id bigint,name string,ts bigint,dt string,hh string) using hudioptions (type = 'cow',primaryKey = 'id',preCombineField = 'ts')partitioned by (dt, hh); 在指定路径下创建表 create table if not exists h3(id bigint,name string,price double) using hudioptions (primaryKey = 'id',preCombineField = 'price')location '/path/to/hudi/h3';
  • 注意事项 Hudi当前不支持使用char、varchar、tinyint、smallint类型,建议使用string或int类型。 Hudi当前只有int、bigint、float、double、decimal、string、date、timestamp、boolean、binary类型支持设置默认值。 Hudi表必须指定primaryKey与preCombineField。 在指定路径下创建表时,如果路径下已存在Hudi表,则建表时不需要指定列。
  • HetuEngine物化视图背景介绍 HetuEngine具备物化视图能力。在实际运用中,将高频访问的SQL查询和有高耗时的算子(连接, 聚合等算子)的SQL通过建立物化视图进行预计算,然后在查询的SQL中将能匹配到物化视图的查询或者子查询转换为物化视图,避免了数据的重复计算,这种情况下往往能较大地提高查询的响应效率。 物化视图通常基于对数据表进行聚合和连接的查询结果创建。 物化视图支持“查询重写”,这是一种优化技术,即将基于原始表编写的查询语句转换为查询一个或多个物化视图语句的等效请求。如下物化视图的SQL示例: create materialized view mv.default.mv1 with(storage_table='hive.default.mv1') AS select id from hive.mvschema.t1; 该物化视图实际数据的存储表为“hive.default.mv1”,在查询重写时,查询SQL“select id from hive.mvschema.t1”会被重写成查询物化视图的表,即“select id from hive.default.mv1”。
  • 使用HetuEngine物化视图场景 与普通的视图相比,物化视图会存储实际数据,占用存储资源,并且会有预计算带来的数据滞后性的问题,因此物化视图推荐在如下场景中使用: 执行频次高的查询。 查询包含非常耗时的操作,比如聚合、连接操作等。 对查询结果数据可以允许有一定的滞后性。 物化视图仅支持对接共部署Hive和外接Hive数据源,并且数据源表的存储格式为ORC或者PARQUET,不支持跨源跨域场景。
  • HetuEngine物化视图权限介绍 物化视图权限如表1。物化视图权限控制依赖Ranger,若关闭Ranger鉴权会带来权限失效的风险。 表1 HetuEngine物化视图权限介绍 操作 catalog mv权限 物化视图存储表的权限 原始物理表的权限 创建物化视图 表的Create权限 NA 对应列的查询权限 删除物化视图 删除表权限 NA NA 刷新物化视图 表的更新权限 NA 对应列的查询权限 修改物化视图属性或状态 表的Alter权限 NA NA 使用物化视图重写查询语句 NA NA 对应列的查询权限 使用物化视图重写查询语句的执行计划(EXPLAIN) NA 对应列的查询权限 对应列的查询权限 查询物化视图 对应列的查询权限 NA NA 物化视图和非物化视图的物理表联合查询 对应列的查询权限 NA 对应列的查询权限 查看物化视图 NA NA NA 查看物化视图的创建语句 表的Show权限 表的Show权限 NA
  • 使用HetuEngine物化视图介绍 表2 物化视图使用介绍 阶段 说明 参考章节 物化视图SQL示例 介绍物化视图支持的操作,包括创建物化视图、列举物化视图、查询物化视图等 HetuEngine物化视图SQL示例 配置物化视图改写能力 开启物化视图能力,提高查询的响应效率 配置HetuEngine物化视图改写能力 配置物化视图推荐能力 自动学习并推荐对业务最有价值的物化视图SQL,使在线查询效率获得倍数提升,同时有效降低系统负载压力 配置HetuEngine物化视图推荐能力 配置物化视图缓存能力 可将多次执行并改写后的SQL保存到缓存中,再次执行这条SQL时会直接从缓存中获取改写后的SQL,而不是重新对SQL进行改写,提高查询效率 配置HetuEngine物化视图缓存能力 配置物化视图有效期与数据刷新 设置物化视图的有效期,当前系统只会使用有效期内的物化视图进行自动改写 设置数据定期更新,可定时手动刷新或自动刷新物化视图 配置HetuEngine物化视图的有效期与数据刷新能力 配置智能物化视图 提供自动化物化视图的创建,无需手动执行SQL创建物化视图(推荐使用) 配置HetuEngine智能物化视图能力 查看物化视图自动化任务记录 看任务执行情况,帮助评估集群运行健康状况 查看HetuEngine物化视图自动化任务
  • 参数说明 下表仅列举了部分常用参数,实际参数以Manager页面为准,参数详情请参见官网https://docs.cloudera.com/documentation/enterprise/6/properties/6.3/topics/cm_props_cdh630_impala.html。 表1 Impala常用参数 配置参数 说明 默认值 范围 impalad.customized.configs impalad进程的自定义配置项。 - - --enable_ldap_auth 是否开启ldap认证。 false true或false --ldap_bind_pattern ldap userDNPattern 例如:cn=%s,ou=People,dc=huawei,dc=com - - --ldap_passwords_in_clear_ok 如果设置为true,将允许ldap密码在网络上明文发送(不含TLS/SSL)。 false true或false --ldap_uri-ip ldap ip - - --ldap_uri-port ldap port 389 - --max_log_files 进程日志的最大文件个数。 10 - --max_log_size 进程的日志文件大小最大值,单位 MB。 200 - statestored.customized.configs Statestored进程的自定义配置项。 - - catalogd.customized.configs Catalogd进程的自定义配置项。 - -
  • 参数描述 表1 参数描述 参数 描述 table_name 需要清理无效数据文件的Hudi表的表名,必选。 op_type 命令运行模式,可选,默认值为dry_run,取值:dry_run、repair、undo、query。 dry_run:显示需要清理的无效数据文件。 repair:显示并清理无效的数据文件。 undo:恢复已清理的数据文件。 query:显示已执行清零操作的备份目录。 backup_path 运行模式为undo时有效,需要恢复数据文件的备份目录,必选。 start_time 运行模式为dry_run、repair时有效,产生无效数据文件的开始时间,可选,默认不限制开始时间。 end_time 运行模式为dry_run、repair时有效,产生无效数据文件的结束时间,可选,默认不限制结束时间。
  • 数据判齐消息字段含义 表1 数据判齐消息字段 字段名 描述 cdl_job_name 本批次数据所属同步任务名称 target_table_schema 本批次数据写入Schema名称 target_table_name 本批次数据写入Hudi表名称 target_table_path 本批次数据保存的Hudi表路径 total_num 本批次数据总数 cdl_original_heartbeat 本批次数据中包含的心跳数据的最大时间, 如果本批次不包含心跳数据则值为空 cdl_last_heartbeat 本批次数据中包含的心跳数据的最小时间,如果本批次不包含心跳数据则取“event_time_min”的值 insert_num 本批次数据insert事件总数 update_num 本批次数据update事件总数 delete_num 本批次数据delete事件总数 event_time_min 本批次数据源端最小事务提交时间 event_time_max 本批次数据源端最大事务提交时间 event_time_avg 本批次数据源端平均事务提交时间 kafka_timestamp_min 本批次数据发送到Kafka的最小时间 kafka_timestamp_max 本批次数据发送到Kafka的最大时间 begin_time 本批次数据开始写入Hudi的时间 end_time 本批次数据写入Hudi的结束时间 cdc_partitioned_time 心跳表的时间分区字段 cdc_last_update_date 该条判齐记录写入时间
  • 操作场景 心跳和数据判齐功能用于统计CDL同步任务的全链路信息, 包括从数据库管理系统RDBMS到Kafka的数据耗时、从Kafka消费数据写入到Hudi的数据耗时和数据条数等一系列信息,并将其写入到特定的Topic(cdl_snapshot_topic)中,用户可自行消费Topic中的数据并写入到某个特定Hudi表作数据判齐使用。心跳判齐数据不仅可以用来判断心跳时间之前的数据已经同步到数据湖,还可以根据事务时间,写Kafka的时间,数据开始入湖时间和数据入湖结束时间来判断数据时延问题。 同时对于PgSQL任务,配置心跳表可以定期向前推进PgSQL中Slot记录的LSN的信息,避免由于某个任务配置了某部分变化很小的表导致数据库日志积压。
  • 配置从Oracle(ogg)抓取数据到Hudi任务的心跳表 在需要同步数据的Oracle数据库中执行以下命令创建一张心跳表,心跳表归属于CDC_CDL Schema,表名为CDC_HEARTBEAT,主键为CDL_JOB_ID: CREATE TABLE "CDC_CDL"."CDC_HEARTBEAT" ( "CDL_JOB_ID" VARCHAR(22) PRIMARY KEY, "CDL_LAST_HEARTBEAT" TIMESTAMP, SUPPLEMENTAL LOG DATA (ALL) COLUMNS ); 将CDC_HEARTBEAT表加入到Oracle或者ogg的任务中,确保心跳数据可以正常发送到Kafka。 如果是Oracle任务,直接执行4。 在CDL WebUI配置thirdparty-kafka(ogg)连接增加Oracle的连接信息。 配置完成后,在CDL WebUI界面创建从Oracle(ogg)抓取数据到Hudi任务并启动即可收到心跳数据。
  • 配置opengauss到Hudi任务的心跳表 在需要同步的opengauss数据库下执行以下命令创建一张心跳表,心跳表归属cdc_cdl Schema,表名为cdc_heartbeat,主键为cdl_job_id: DROP TABLE IF EXISTS cdc_cdl.cdc_heartbeat; CREATE TABLE cdc_cdl.cdc_heartbeat ( cdl_job_id int8 NOT NULL, cdl_last_heartbeat timestamp(6) ); ALTER TABLE cdc_cdl.cdc_heartbeat ADD CONSTRAINT cdc_heartbeat_pkey PRIMARY KEY (cdl_job_id); 将该心跳表加入到DRS任务,以确保心跳表数据正常发送到DRS Kafka。 在CDL WebUI界面配置opengauss的thirdparty-kafka连接时增加opengauss的连接信息,如果opengauss部署为一主多备模式,需在“host”填写所有的IP。 配置完成之后,在CDL WebUI界面创建从thirdparty-kafka抓取数据到Hudi的任务并启动即可收到心跳数据。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全