天坑!Spark+Hive+Paimon+Dolphinscheduler

背景:

数据中台项目使用Spark+Hive+Paimon做湖仓底层,调度任务使用的是基于Dolphinscheduler进行二开。在做离线脚本任务开发时,在Paimon库下执行非查询类SQL报错。

INSERT报错

DELETE报错

 现状:

原始逻辑为数据中台中选择的Paimon数据源,实际上在Dolphinscheduler中是选择的Hive数据源。所以在Dolphinscheduler中,实际上是选择了一个SQL类型的任务节点,数据原类型选择Hive。执行后就会报以上两个错误。

排查思路以及解决方案:

在这种多组件复杂环境的情况下去排查问题,需要分段排查。首先确认是否是数据中台代码的问题。

1. 脱离数据中台直接在Dolphinscheduler创建一个工作流,任务节点选择SQL,选择Hive数据源执行insert代码。发现是同样的报错。

所以可以先排除是数据中台在创建Dolphinscheduler工作流的问题,但这不代表原逻辑正确。

2. Dolphinscheduler只是一个调度,除非是他无法实现这个功能,基本上不会出现问题,所以继续向下排查。

3. 排查Spark+Hive+Paimon

分别来看一下这三个组件在数据中台中的作用

Spark+Hive

在我们的中台中,是Spark on Hive 是Hive只作为存储角色,Spark负责sql解析优化,执行。也就是Spark 通过Spark SQL 使用Hive 语句操作Hive表 ,底层运行的还是 Spark RDD。

具体步骤如下:

  • 通过SparkSQL,加载Hive的配置文件,获取到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值