You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@seatunnel.apache.org by fa...@apache.org on 2023/03/10 02:36:27 UTC
[incubator-seatunnel] branch dev updated: [Bug][Connector-V2][ES]Fix es field type not support binary(#4240) (#4274)
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 <10...@qq.com>
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 <it...@163.com>
---
.../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;