DLA Lakehouse实时入湖方案利用数据湖技术,重构数仓语义,分析数据湖数据,实现数仓的应用。本文介绍Kafka实时入湖建仓分析的操作步骤。
前提条件
- 已在DLA中开通云原生数据湖分析服务。更多信息,请参见开通云原生数据湖分析服务。
- 已创建Spark引擎的虚拟集群。更多信息,请参见创建虚拟集群。
- 如果您使用RAM子账号登录,还需要进行如下操作:
- 已授予RAM子账号AliyunDLAFullAccess权限。更多信息,请参见为RAM账号授权。
- 已将DLA子账号绑定到RAM子账号。更多信息,请参见DLA子账号绑定RAM账号。
- 已在Kafka中创建实例。更多信息,请参见创建实例。
- 已在Kafka中创建Topic。更多信息,请参见创建Topic。
- 已在Kafka中发送消息。更多信息,请参见发送消息。
方案介绍
DLA Lakehouse的Kafka实时入湖建仓分析助力企业实现”业务数据化”+“建仓”+“数据业务化”的数据闭环建设,主要包括三方面。
- Kafka实时入湖建仓引擎:支持T+10min近实时入湖,同时支持Schema推断及变更、嵌套打平、分区管理、小文件合并及Clustering等能力。
- OSS存储:入湖建仓基于OSS的低成本存储介质,有效地降低存储层成本,同时格式层使用HUDI格式来支持Append写入。
- 完全弹性的分析:DLA支持Serverless Presto和Serverless Spark的分析与计算能力,完全按需计费。
方案架构如下图所示。
注意事项
Kafka中创建的Topic数据超过一定的时间会被自动清理,如果Topic数据过期,同时入湖任务失败,再重新启动时读取不到被清理掉的数据,会有丢失数据的风险。
授予RAM子账号创建库表的权限
如果您使用RAM子账号登录,在开始Kafka实时入湖的操作前,需要先授予RAM子账号创建库表的权限。
- 登录Data Lake Analytics控制台。
- 在左侧导航栏单击 。
- 在右侧运行框输入如下语句,单击同步执行(F8)。
grant create,alter on *.* to user1_s1041577795224301;
操作步骤
- 创建湖仓。湖仓创建成功后,湖仓列表页签中将展示创建成功的湖仓任务。
- 创建入湖负载。入湖负载创建成功后,在工作负载列表页签中将展示创建成功的工作负载。
- 启动工作负载。
- 在工作负载列表页签中,定位到创建成功的入湖负载,在操作列单击启动。
- 在弹出的再次确认窗口单击确定。
工作负载任务启动成功后,状态变为RUNNING。 - 进行数据分析。
- 在工作负载列表页签单击入湖负载的库前缀。
- 在SQL执行页面,系统已经选中了目标库,您可以直接输入SQL语句进行数据分析。
- (可选)OSS数据存储管理。