文档首页/ 数据治理中心 DataArts Studio/ 用户指南/ 数据开发/ 实时处理集成作业开发/ 常见问题/ Kafka到DLI实时同步中,作业运行失败,报“Array element access needs an index starting at 1 but was 0”怎么办?
更新时间:2024-09-11 GMT+08:00
分享

Kafka到DLI实时同步中,作业运行失败,报“Array element access needs an index starting at 1 but was 0”怎么办?

问题描述

Kafka到DLI实时同步中,作业运行失败,报“Array element access needs an index starting at 1 but was 0”错误。

图1 报错信息

原因分析

查看日志提示报错信息为“Array element access needs an index starting at 1 but was 0”,即数组下标必须从1开始,a[1]表示数组中的第一个元素。

查看该CDM实时作业:配置源端为Kafka,目的端为DLI字段映射,赋值来源为“源表字段”,赋值框使用kafka消息中的嵌套json数组写入方式为a[0]。由于在字段映射使用源表字段对目标列进行赋值时,数组下标必须从1开始(表示数组的第一个元素),如果误用了下标0,那么作业会运行失败,故发现该问题为赋值数组下标设置错误导致,需重新设置。

图2 原有参数配置

解决方案

修改字段赋值为a[1],提交作业版本重新启动即可。

图3 设置目标表的赋值参数

相关文档