This is an automated email from the ASF dual-hosted git repository.
fanjia pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 84f10f201 [Bug][Connector-V2][ES]Fix es field type not support
binary(#4240) (#4274)
84f10f201 is described below
commit 84f10f20163caadcd23d61f1bb1263acdc03f82c
Author: iture123 <[email protected]>
AuthorDate: Fri Mar 10 10:36:21 2023 +0800
[Bug][Connector-V2][ES]Fix es field type not support binary(#4240) (#4274)
Co-authored-by: iture123 <[email protected]>
---
.../constant/EsTypeMappingSeaTunnelType.java | 17 ++++++++++++++++-
.../exception/ElasticsearchConnectorErrorCode.java | 1 +
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git
a/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/constant/EsTypeMappingSeaTunnelType.java
b/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/constant/EsTypeMappingSeaTunnelType.java
index 2ae6fe2ad..7508136bd 100644
---
a/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/constant/EsTypeMappingSeaTunnelType.java
+++
b/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/constant/EsTypeMappingSeaTunnelType.java
@@ -20,6 +20,8 @@ package
org.apache.seatunnel.connectors.seatunnel.elasticsearch.constant;
import org.apache.seatunnel.api.table.type.BasicType;
import org.apache.seatunnel.api.table.type.LocalTimeType;
import org.apache.seatunnel.api.table.type.SeaTunnelDataType;
+import
org.apache.seatunnel.connectors.seatunnel.elasticsearch.exception.ElasticsearchConnectorErrorCode;
+import
org.apache.seatunnel.connectors.seatunnel.elasticsearch.exception.ElasticsearchConnectorException;
import java.util.HashMap;
import java.util.Map;
@@ -32,6 +34,7 @@ public class EsTypeMappingSeaTunnelType {
put("string", BasicType.STRING_TYPE);
put("keyword", BasicType.STRING_TYPE);
put("text", BasicType.STRING_TYPE);
+ put("binary", BasicType.STRING_TYPE);
put("boolean", BasicType.BOOLEAN_TYPE);
put("byte", BasicType.BYTE_TYPE);
put("short", BasicType.SHORT_TYPE);
@@ -44,7 +47,19 @@ public class EsTypeMappingSeaTunnelType {
}
};
+ /**
+ * if not find the mapping SeaTunnelDataType will throw runtime exception
+ *
+ * @param esType
+ * @return
+ */
public static SeaTunnelDataType getSeaTunnelDataType(String esType) {
- return MAPPING.get(esType);
+ SeaTunnelDataType seaTunnelDataType = MAPPING.get(esType);
+ if (seaTunnelDataType == null) {
+ throw new ElasticsearchConnectorException(
+ ElasticsearchConnectorErrorCode.ES_FIELD_TYPE_NOT_SUPPORT,
+ String.format("elasticsearch type is %s", esType));
+ }
+ return seaTunnelDataType;
}
}
diff --git
a/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/exception/ElasticsearchConnectorErrorCode.java
b/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/exception/ElasticsearchConnectorErrorCode.java
index a08c6a3ff..67f01201d 100644
---
a/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/exception/ElasticsearchConnectorErrorCode.java
+++
b/seatunnel-connectors-v2/connector-elasticsearch/src/main/java/org/apache/seatunnel/connectors/seatunnel/elasticsearch/exception/ElasticsearchConnectorErrorCode.java
@@ -28,6 +28,7 @@ public enum ElasticsearchConnectorErrorCode implements
SeaTunnelErrorCode {
LIST_INDEX_FAILED("ELASTICSEARCH-05", "List elasticsearch index failed"),
DROP_INDEX_FAILED("ELASTICSEARCH-06", "Drop elasticsearch index failed"),
CREATE_INDEX_FAILED("ELASTICSEARCH-07", "Create elasticsearch index
failed"),
+ ES_FIELD_TYPE_NOT_SUPPORT("ELASTICSEARCH-08", "Not support the
elasticsearch field type");
;
private final String code;