云数据迁移 CDM-Hudi目的端的作业执行Spark SQL写入Hudi失败怎么办?:解决方案
解决方案
- 在 DataArts Studio 或者Hue或者spark-beeline上执行drop table将表从metastore中删除,然后作业配置 “不存在时创建”重跑作业。或者删除后自己执行建表语句重建一个Hudi表。
对于MOR表来说,删表需要把ro与rt表也同时删除。否则会出现schema残留的问题。
- 删除空值后重跑作业。
- 具体办法:
- 在作业管理界面选择 ,尝试重新执行Spark SQL。
- 通过DataArts Studio执行Spark SQL,设置执行参数或者调整SQL。
set spark.sql.files.maxPartitionBytes=xxM;默认值为128M,可适当调整为64M或者32M。
如果数据切分不均匀,可以修改SQL配置DISTRIBUTE BY rand(),增加一个shuffle过程,打散数据(需要占用较多资源,资源不多时慎用)。
insert into xx select * from xxx DISTRIBUTE BY rand();
- 使用DataArts Studio API方式提交Spark SQL,调大executor内存。
- 排查是否有其他连接在同时写hudi表,如果有,将连接停止,然后 CDM 作业失败重试。
- 什么是Spark SQL作业_数据湖探索DLISpark SQL作业
- 数据治理中心_数据集成_使用教程_-华为云
- Hudi服务_什么是Hudi_如何使用Hudi
- MapReduce工作原理_MapReduce是什么意思_MapReduce流程_MRS_华为云
- 数据治理中心_数据开发_数据开发能力_脚本和节点介绍-华为云
- 大数据分析是什么_使用MapReduce_创建MRS服务
- 什么是Flink OpenSource SQL_数据湖探索_Flink OpenSource SQL
- 什么是数据湖探索服务_数据湖探索DLI用途与特点
- 大数据应用范围有哪些_大数据技术与应用要学习什么课程
- 数据治理中心_数据开发_数据开发示例_使用教程-华为云