chunjun icon indicating copy to clipboard operation
chunjun copied to clipboard

写入数据到sftp的时候,报错了

Open shaolei7788 opened this issue 3 years ago • 6 comments
trafficstars

写入数据到sftp的时候,FtpColumnConverter#toExternal 方法,List<String> columnData = new ArrayList<>(ftpConfig.getColumn().size()); 当RowData 第一个元素为null时,再去调用columnData.set方法会报错

解决办法: List<String> columnData = new ArrayList<>(ftpConfig.getColumn().size()); 改成 List<String> columnData = Arrays.asList(new String[ftpConfig.getColumn().size()]); 然后修改 FtpColumnConverter#createExternalConverter方法 将list.add改成 list.set

shaolei7788 avatar May 18 '22 02:05 shaolei7788

可以提交一个pr,之后我们一起看下。

FlechazoW avatar May 18 '22 03:05 FlechazoW

是否可以简单理解成是上游数据为null导致的空指针问题?如果是这样的话在上游的converter中找到返回null的地方改用com.dtstack.flinkx.element.column.NullColumn封装null即可

meng1222 avatar May 18 '22 03:05 meng1222

protected ISerializationConverter<List<String>> wrapIntoNullableExternalConverter( ISerializationConverter serializationConverter, FieldConf fieldConf) { return (rowData, index, list) -> { if (rowData == null || rowData.isNullAt(index)) { list.set(index, null); } else { serializationConverter.serialize(rowData, index, list); } }; }

以我的理解你说的这个应该不是最佳办法,不然 wrapIntoNullableExternalConverter 方法的if分支就没必要了,

这两个地方要修改

------------------ 原始邮件 ------------------ 发件人: "DTStack/chunjun" @.>; 发送时间: 2022年5月18日(星期三) 中午11:28 @.>; @.@.>; 主题: Re: [DTStack/chunjun] 写入数据到sftp的时候,报错了 (Issue #811)

是否可以简单理解成是上游数据为null导致的空指针问题?如果是这样的话在上游的converter中找到返回null的地方改用com.dtstack.flinkx.element.column.NullColumn封装null即可

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

shaolei7788 avatar May 18 '22 03:05 shaolei7788

好的,我正在学习提pr,等我搞明白了 ,把之前所有遇到的bug或需求 都提下

------------------ 原始邮件 ------------------ 发件人: "DTStack/chunjun" @.>; 发送时间: 2022年5月18日(星期三) 中午11:17 @.>; @.@.>; 主题: Re: [DTStack/chunjun] 写入数据到sftp的时候,报错了 (Issue #811)

可以提交一个pr,之后我们一起看下。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

shaolei7788 avatar May 18 '22 03:05 shaolei7788

可以看下这份文档 https://dtstack.github.io/chunjun-web/docs/chunjunDocs/contribute-pr

FlechazoW avatar May 18 '22 03:05 FlechazoW

好的

------------------ 原始邮件 ------------------ 发件人: "DTStack/chunjun" @.>; 发送时间: 2022年5月18日(星期三) 中午11:37 @.>; @.@.>; 主题: Re: [DTStack/chunjun] 写入数据到sftp的时候,报错了 (Issue #811)

可以看下这份文档 https://dtstack.github.io/chunjun-web/docs/chunjunDocs/contribute-pr

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

shaolei7788 avatar May 18 '22 03:05 shaolei7788