运维指导 为什么SQL作业一直处于“提交中”? SQL作业一直在提交中,有以下几种可能: 刚购买DLI队列后,第一次进行SQL作业的提交。需要等待5~10分钟,待后台拉起集群后,即可提交成功。 若刚刚对队列进行网段修改,立即进行SQL作业的提交。需要等待5~10分钟,待后台重建集群后,即可提交成功。 按需队列,已空闲状态(超过1个小时)。后台资源已经释放。此时进行SQL作业的提交。需要等待5~10分钟,待后台重新拉起集群后,即可提交成功。 跨源连接RDS表中createdate字段类型是datetime,为什么dli中查出来的是时间戳呢? Spark中没有datetime数据类型,其使用的是TIMESTAMP类型。 您可以通过函数进行转换。 例如: select cast(createdate as string), from table where createdate>'22211201 00:00:00'; SQL作业执行完成后,修改表名导致datasize修改失败怎么办? 如果执行SQL后立即修改了表名,可能会导致表的数据大小结果不正确。 如需修改表名,建议在SQL作业执行完成后,间隔5分钟再修改表名。 从DLI导入数据到OBS,为什么数据量出现差异? 问题现象 使用DLI插入数据到OBS临时表文件,数据量有差异。 根因分析 出现该问题可能原因如下: 作业执行过程中,读取数据量错误。 验证数据量的方式不正确。 通常在执行插入数据操作后,如需确认插入数据量是否正确,建议通过查询语句进行查询。 如果OBS对存入的文件数量有要求,可以在插入语句后加入“DISTRIBUTE BY number”。例如,在插入语句后添加“DISTRIBUTE BY 1”,可以将多个task生成的多个文件汇总为一个文件。