检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
步骤4:创建增强型跨源连接 创建DLI连接Kafka的增强型跨源连接 在Kafka管理控制台,选择“Kafka专享版”,单击对应的Kafka名称,进入到Kafka的基本信息页面。 在“连接信息”中获取该Kafka的“内网连接地址”,在“基本信息”的“网络”中获取获取该实例的“虚拟私有云”和“子网”信息,方便后续操作步骤使用。
否 1000 Interger 每个批量请求的最大缓冲操作数。可以设置'0'为禁用它。 sink.bulk-flush.max-size 否 2mb MemorySize 每个批量请求的缓冲操作的内存中的最大大小。必须是MB粒度。可以设置'0'为禁用它。 sink.bulk-flush
数据远大于其他Task的数据,导致该任务耗时时间变长。 图10 数据倾斜示例图 数据倾斜原因和解决: Shuffle的数据倾斜基本是由于join中的key值数量不均衡导致。 对join连接条件进行group by 和count,统计每个连接条件的key值的数量。示例如下: lef
'330110'); 参考增强型跨源连接,根据DWS所在的虚拟私有云和子网创建相应的增强型跨源,并绑定所要使用的Flink弹性资源池。 设置DWS的安全组,添加入向规则使其对Flink的队列网段放通。参考测试地址连通性根据DWS的地址测试队列连通性。若能连通,则表示跨源已经绑定成功,否则表示未成功。
创建Kerberos跨源认证 操作场景 通过在DLI控制台创建的Kerberos类型的跨源认证,将数据源的认证信息存储到DLI,无需在SQL作业中配置账号密码,安全访问数据源。 MRS Kafka开启Kerberos认证,未开启SSL认证时,创建Kerberos类型的认证。建表时通过krb_auth_name关联跨源认证。
查询源表数据,发现导致问题产生的记录ctr值为1675,整数位(4位)超出所定义的decimal精度(9 – 6 = 3位),导致double转decimal时overflow产生null值,而对应dws表字段为非空导致插入失败。 处理步骤 修改目的表所定义的decimal精度即可解决。
Capture)技术的缩写,它可以将源数据库的增量变动记录,同步到一个或多个数据目的中。CDC在数据同步过程中,还可以对数据进行一定的处理,例如分组(GROUP BY)、多表的关联(JOIN)等。 本示例通过创建PostgreSQL CDC源表来监控Postgres的数据变化,并将变化的数据信息插入到DWS数据库中。
说明: 经典型跨源的连接地址默认格式为:"协议头://访问地址:访问端口" 例如:jdbc:mysql://to-rds-1174405119-oLRHAGE7.datasource.com:3306 如果想要访问RDS的postgre集群,需要将连接地址中的协议头修改为"jdbc:
单击“提交”完成弹性资源池的创建。 在弹性资源池的列表页,选择要操作的弹性资源池,单击操作列的“添加队列”。 配置队列的基础配置,具体参数信息如下。 表3 弹性资源池添加队列基础配置 参数名称 参数说明 配置样例 名称 弹性资源池添加的队列名称。 dli_queue_01 类型 选择创建的队列类型。
该回收站目录可以指定为“obs://bucketName/filePath/Trash”。 注意事项 DLI数据多版本功能当前仅支持通过Hive语法创建的OBS表,具体建表SQL语法可以参考使用Hive语法创建OBS表。 回收站数据自动清理需要在OBS并行文件系统的桶上配置回收站数据的生命周期规则。具体步骤参考如下:
参考增强型跨源连接,在DLI上根据MySQL和Kafka所在的虚拟私有云和子网分别创建相应的增强型跨源连接,并绑定所要使用的Flink弹性资源池。 设置MySQL和Kafka的安全组,添加入向规则使其对Flink的队列网段放通。参考测试地址连通性分别根据MySQL和Kafka的地址测试队列连通性。若能连通,则表示跨源已经绑定成功,否则表示未成功。
在sink算子前是否按指定的主键进行分区。 该参数旨在解决多并发写入的场景下且write.mode为upsert时,如果多个子任务中写入sink的一批数据具有不止一条相同的主键,并且主键相同的这些数据先后顺序不一致,就会导致两个子任务在向DWS根据主键获取行锁时发生互锁的问题。 示例 该示
使用CREATE TABLE创建一个具有指定列的、新的空表。使用CREATE TABLE AS创建带数据的表。 使用可选参数IF NOT EXISTS,如果表已经存在则不会报错。 WITH子句可用于在新创建的表或单列上设置属性,如表的存储位置(location)、是不是外表(external)等。
ined]'); 参数描述 表1 参数描述 参数 描述 是否必填 table 需要查询表的表名,支持database.tablename格式 是 clean_policy 清理老版本数据文件的策略,默认KEEP_LATEST_COMMITS 否 retain_commits 仅对
检查该OBS桶是否被设置为了DLI日志桶。 在DLI管理控制台的“全局配置 > 作业配置” 页查看对应OBS桶是否被设置为了DLI日志桶,日志桶不能用于DLI的其他业务功能中。 确认桶是否应用于其他业务功能。 如果是,您可以在DLI管理控制台页面更改作业配置,选择其他未被占用的OBS桶用于DLI日志存储。 父主题:
on {{桶名}}: status [403]。 解决措施 请检查OBS桶权限,确保账号有权限访问报错信息中提到的OBS桶。 如果没有,需要联系OBS桶的管理员添加桶的访问权限。 父主题: SQL作业运维类
getName()); } 在创建ImportJob对象的时候分区信息PartitionSpec也可以直接传入分区字符串。 partitionSpec如果导入时指定部分列为分区列,而导入的数据只包含了指定的分区信息,则数据导入后的未指定的分区列字段会存在null值等异常值。 示例中isO
Kafka结果表 功能描述 DLI将Flink作业的输出数据输出到Kafka中。 Apache Kafka是一个快速、可扩展的、高吞吐、可容错的分布式发布订阅消息系统,具有高吞吐量、内置分区、支持数据副本和容错的特性,适合在大规模消息处理场景中使用。 前提条件 Kafka是线下集
参考增强型跨源连接,在DLI上根据DWS和Kafka所在的虚拟私有云和子网分别创建相应的增强型跨源连接,并绑定所要使用的Flink弹性资源池。 设置DWS和Kafka的安全组,添加入向规则使其对Flink的队列网段放通。参考测试地址连通性分别根据DWS和Kafka的地址测试队列连通性。若能连通,则表示跨源已经绑定成功,否则表示未成功。
弹性资源池为DLI作业运行提供所需的计算资源(CPU和内存),用于灵活应对业务对计算资源变化的需求。 创建弹性资源池后,您可以在弹性资源池中创建多个队列,队列关联到具体的作业和数据处理任务,是资源池中资源被实际使用和分配的基本单元,即队列是执行作业所需的具体的计算资源。 同一弹性资源池中,队列之间的计算资源支持共享。