写数据Frame缺失列到列变换表

使用FILLERCORD填表时填入缺失列

写由荷塞冈萨雷斯

2022年5月23日

问题

写到Redfort表时,如果目标表列比源Apachespark数据Frame多,你可能会报错拷贝

COPY错误失败:[Amazon][Amazon红移 (1203)错误在试图执行查询时发生:ERROR:装入表名失败stl_load_errors系统表详解1203-输入数据列小于DDL定义

因果

SparkDataFrame源和Redtift表需要相同数列

求解

选项1更新笔记本或作业操作以添加sparkDataFrame缺失列

新建列中可填充无效值,如果没有数据,或如果新数据需要写到目标Redvile表,则填充实际值

选项需要人工干预,如果有大量笔记本或作业需要修改或定期向目标添加新列,则可耗时

选项2:使用AWS重置数据转换参数裂变反射.

何时裂变反射使用时允许加载数据文件缺失列用零长字符串或空值填充,视相关列数据类型而定

裂变反射可指定使用extracopyoptions执行时f.write数据库操作.

scaladbricks.sparks.dbc


文章有帮助吗