Skip to content

Commit 9ece5fb

Browse files
authored
[hotfix][connector][ftp]fix ftp sql job run error (#1382)
1 parent 12dc5e7 commit 9ece5fb

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

chunjun-connectors/chunjun-connector-ftp/src/main/java/com/dtstack/chunjun/connector/ftp/table/FtpDynamicTableFactory.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
package com.dtstack.chunjun.connector.ftp.table;
2020

21+
import com.dtstack.chunjun.conf.FieldConf;
2122
import com.dtstack.chunjun.connector.ftp.conf.FtpConfig;
2223
import com.dtstack.chunjun.connector.ftp.options.FtpOptions;
2324
import com.dtstack.chunjun.connector.ftp.sink.FtpDynamicTableSink;
@@ -38,9 +39,12 @@
3839
import org.apache.flink.table.factories.DynamicTableSourceFactory;
3940
import org.apache.flink.table.factories.FactoryUtil;
4041
import org.apache.flink.table.factories.SerializationFormatFactory;
42+
import org.apache.flink.table.types.logical.RowType;
4143
import org.apache.flink.table.utils.TableSchemaUtils;
4244

45+
import java.util.ArrayList;
4346
import java.util.HashSet;
47+
import java.util.List;
4448
import java.util.Set;
4549

4650
/**
@@ -94,7 +98,18 @@ public DynamicTableSource createDynamicTableSource(Context context) {
9498
helper.discoverDecodingFormat(
9599
DeserializationFormatFactory.class, FtpOptions.FORMAT);
96100

101+
RowType rowType = (RowType) physicalSchema.toRowDataType().getLogicalType();
97102
FtpConfig ftpConfig = getFtpConfByOptions(config);
103+
String[] fieldNames = physicalSchema.getFieldNames();
104+
List<FieldConf> columnList = new ArrayList<>(fieldNames.length);
105+
for (int i = 0; i < fieldNames.length; i++) {
106+
FieldConf field = new FieldConf();
107+
field.setName(fieldNames[i]);
108+
field.setType(rowType.getTypeAt(i).asSummaryString());
109+
field.setIndex(i);
110+
columnList.add(field);
111+
}
112+
ftpConfig.setColumn(columnList);
98113

99114
return new FtpDynamicTableSource(physicalSchema, ftpConfig, decodingFormat);
100115
}

0 commit comments

Comments
 (0)