自学内容网 自学内容网

天坑!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的配置文件,获取到


原文地址:https://blog.csdn.net/fox_233/article/details/142640250

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!