This is an automated email from the ASF dual-hosted git repository.

hellostephen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new fa511851863 Revert "[enhancement](hive)Initial support for Hive 
org.openx.data.jsonserde.JsonSerDe" (#49928)
fa511851863 is described below

commit fa511851863e883487faead5e0bccc2876671523
Author: Dongyang Li <lidongy...@selectdb.com>
AuthorDate: Thu Apr 10 09:52:46 2025 +0800

    Revert "[enhancement](hive)Initial support for Hive 
org.openx.data.jsonserde.JsonSerDe" (#49928)
    
    Reverts apache/doris#49209
---
 be/src/vec/exec/format/json/new_json_reader.cpp    |  33 +-------
 be/src/vec/exec/format/json/new_json_reader.h      |   8 +-
 .../hive/scripts/auxlib/json-serde-1.3.9.tar.gz    | Bin 78992 -> 0 bytes
 .../scripts/create_preinstalled_scripts/run76.hql  |  56 --------------
 .../docker-compose/hive/scripts/hive-metastore.sh  |  11 ---
 .../json/openx_json/json_data_arrays_tb/1          |   2 -
 .../json/openx_json/json_one_column_table/1        |   5 --
 .../preinstalled_data/json/openx_json/json_table/1 |   2 -
 .../preinstalled_data/json/openx_json/json_table/2 |  11 ---
 .../json/openx_json/scalar_to_array_tb/1           |   1 -
 .../doris/datasource/hive/HMSExternalTable.java    |   8 --
 .../datasource/hive/HiveMetaStoreClientHelper.java |   1 -
 .../doris/datasource/hive/HiveProperties.java      |  12 ---
 .../doris/datasource/hive/source/HiveScanNode.java |  48 +-----------
 .../java/org/apache/doris/qe/SessionVariable.java  |  21 ------
 gensrc/thrift/PlanNodes.thrift                     |   3 -
 .../hive/test_hive_openx_json.out                  | Bin 709 -> 0 bytes
 .../hive/test_hive_openx_json.groovy               |  84 ---------------------
 18 files changed, 9 insertions(+), 297 deletions(-)

diff --git a/be/src/vec/exec/format/json/new_json_reader.cpp 
b/be/src/vec/exec/format/json/new_json_reader.cpp
index a125654eada..5820174e7fa 100644
--- a/be/src/vec/exec/format/json/new_json_reader.cpp
+++ b/be/src/vec/exec/format/json/new_json_reader.cpp
@@ -399,20 +399,6 @@ Status NewJsonReader::_get_range_params() {
     if (_range.table_format_params.table_format_type == "hive") {
         _is_hive_table = true;
     }
-    if (_params.file_attributes.__isset.openx_json_ignore_malformed) {
-        _openx_json_ignore_malformed = 
_params.file_attributes.openx_json_ignore_malformed;
-    }
-    return Status::OK();
-}
-
-static Status ignore_malformed_json_append_null(Block& block) {
-    for (auto& column : block.get_columns()) {
-        if (!column->is_nullable()) [[unlikely]] {
-            return Status::DataQualityError("malformed json, but the column 
`{}` is not nullable.",
-                                            column->get_name());
-        }
-        
static_cast<ColumnNullable*>(column->assume_mutable().get())->insert_default();
-    }
     return Status::OK();
 }
 
@@ -500,13 +486,8 @@ Status NewJsonReader::_vhandle_simple_json(RuntimeState* 
/*state*/, Block& block
         bool valid = false;
         if (_next_row >= _total_rows) { // parse json and generic document
             Status st = _parse_json(is_empty_row, eof);
-            if (st.is<DATA_QUALITY_ERROR>()) {
-                if (_is_load) {
-                    continue; // continue to read next (for load, after this , 
already append error to file.)
-                } else if (_openx_json_ignore_malformed) {
-                    RETURN_IF_ERROR(ignore_malformed_json_append_null(block));
-                    continue;
-                }
+            if (_is_load && st.is<DATA_QUALITY_ERROR>()) {
+                continue; // continue to read next (for load, after this , 
already append error to file.)
             }
             RETURN_IF_ERROR(st);
             if (*is_empty_row) {
@@ -1315,15 +1296,9 @@ Status 
NewJsonReader::_simdjson_handle_simple_json(RuntimeState* /*state*/, Bloc
 
         // step2: get json value by json doc
         Status st = _get_json_value(&size, eof, &error, is_empty_row);
-        if (st.is<DATA_QUALITY_ERROR>()) {
-            if (_is_load) {
-                return Status::OK();
-            } else if (_openx_json_ignore_malformed) {
-                RETURN_IF_ERROR(ignore_malformed_json_append_null(block));
-                return Status::OK();
-            }
+        if (_is_load && st.is<DATA_QUALITY_ERROR>()) {
+            return Status::OK();
         }
-
         RETURN_IF_ERROR(st);
         if (*is_empty_row || *eof) {
             return Status::OK();
diff --git a/be/src/vec/exec/format/json/new_json_reader.h 
b/be/src/vec/exec/format/json/new_json_reader.h
index 6b42ca23b4f..430f8c7af18 100644
--- a/be/src/vec/exec/format/json/new_json_reader.h
+++ b/be/src/vec/exec/format/json/new_json_reader.h
@@ -293,22 +293,18 @@ private:
 
     int32_t skip_bitmap_col_idx {-1};
 
+    bool _is_load = true;
     //Used to indicate whether it is a stream load. When loading, only data 
will be inserted into columnString.
     //If an illegal value is encountered during the load process, 
`_append_error_msg` should be called
     //instead of directly returning `Status::DataQualityError`
-    bool _is_load = true;
 
+    bool _is_hive_table = false;
     // In hive : create table xxx ROW FORMAT SERDE 
'org.apache.hive.hcatalog.data.JsonSerDe';
     // Hive will not allow you to create columns with the same name but 
different case, including field names inside
     // structs, and will automatically convert uppercase names in create sql 
to lowercase.However, when Hive loads data
     // to table, the column names in the data may be uppercase,and there may 
be multiple columns with
     // the same name but different capitalization.We refer to the behavior of 
hive, convert all column names
     // in the data to lowercase,and use the last one as the insertion value
-    bool _is_hive_table = false;
-
-    // hive : org.openx.data.jsonserde.JsonSerDe, `ignore.malformed.json` prop.
-    // If the variable is true, `null` will be inserted for llegal json format 
instead of return error.
-    bool _openx_json_ignore_malformed = false;
 
     DataTypeSerDeSPtrs _serdes;
     vectorized::DataTypeSerDe::FormatOptions _serde_options;
diff --git 
a/docker/thirdparties/docker-compose/hive/scripts/auxlib/json-serde-1.3.9.tar.gz
 
b/docker/thirdparties/docker-compose/hive/scripts/auxlib/json-serde-1.3.9.tar.gz
deleted file mode 100644
index 1eb63aa7727..00000000000
Binary files 
a/docker/thirdparties/docker-compose/hive/scripts/auxlib/json-serde-1.3.9.tar.gz
 and /dev/null differ
diff --git 
a/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_scripts/run76.hql
 
b/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_scripts/run76.hql
deleted file mode 100644
index 1f83f932445..00000000000
--- 
a/docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_scripts/run76.hql
+++ /dev/null
@@ -1,56 +0,0 @@
-create database if not exists openx_json;
-use openx_json;
-
-
-CREATE TABLE IF NOT EXISTS json_table (
-    id INT,
-    name STRING,
-    numbers ARRAY<INT>,
-    scores MAP<STRING, INT>,
-    details STRUCT<a:INT, b:STRING, c:BIGINT>
-)
-ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
-LOCATION '/user/doris/preinstalled_data/json/openx_json/json_table';
-
-
-CREATE TABLE IF NOT EXISTS json_table_ignore_malformed (
-    id INT,
-    name STRING,
-    numbers ARRAY<INT>,
-    scores MAP<STRING, INT>,
-    details STRUCT<a:INT, b:STRING, c:BIGINT>
-)
-ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
-WITH SERDEPROPERTIES ("ignore.malformed.json" = "true" )
-LOCATION '/user/doris/preinstalled_data/json/openx_json/json_table';
-
-
-CREATE TABLE json_data_arrays_tb (
-    name string, age int)
-ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
-LOCATION '/user/doris/preinstalled_data/json/openx_json/json_data_arrays_tb';
-
-
-CREATE TABLE IF NOT EXISTS scalar_to_array_tb(
-    id INT,
-    name STRING,
-    tags ARRAY<STRING>
-)ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
-LOCATION '/user/doris/preinstalled_data/json/openx_json/scalar_to_array_tb';
-
-
-CREATE TABLE IF NOT EXISTS json_one_column_table (
-    name STRING,    
-    id INT,
-    numbers ARRAY<INT>,
-    scores MAP<STRING, INT>,
-    details STRUCT<a:INT, b:STRING, c:BIGINT>
-)
-ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
-LOCATION '/user/doris/preinstalled_data/json/openx_json/json_one_column_table';
-
-msck repair table json_table;
-msck repair table json_table_ignore_malformed;
-msck repair table json_data_arrays_tb;
-msck repair table scalar_to_array_tb;
-msck repair table json_one_column_table;
\ No newline at end of file
diff --git a/docker/thirdparties/docker-compose/hive/scripts/hive-metastore.sh 
b/docker/thirdparties/docker-compose/hive/scripts/hive-metastore.sh
index 04ddf42c70c..ac4c9ae4480 100755
--- a/docker/thirdparties/docker-compose/hive/scripts/hive-metastore.sh
+++ b/docker/thirdparties/docker-compose/hive/scripts/hive-metastore.sh
@@ -20,17 +20,6 @@ set -e -x
 
 parallel=$(getconf _NPROCESSORS_ONLN)
 
-
-
-AUX_LIB="/mnt/scripts/auxlib"
-for file in "${AUX_LIB}"/*.tar.gz; do
-    [ -e "$file" ] || continue
-    tar -xzvf "$file" -C "$AUX_LIB"
-    echo "file = ${file}"
-done
-ls "${AUX_LIB}/"
-mv "${AUX_LIB}"/ /opt/hive
-
 nohup /opt/hive/bin/hive --service metastore &
 
 # wait lockfile
diff --git 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_data_arrays_tb/1
 
b/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_data_arrays_tb/1
deleted file mode 100644
index 098bb346b50..00000000000
--- 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_data_arrays_tb/1
+++ /dev/null
@@ -1,2 +0,0 @@
-["John", 26 ]
-["Mary", 23 ]
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_one_column_table/1
 
b/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_one_column_table/1
deleted file mode 100644
index d396f66a079..00000000000
--- 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_one_column_table/1
+++ /dev/null
@@ -1,5 +0,0 @@
-
-{"name":"bad1","id":5,"numbers":[1,2,3]
-[1,2,3]
-"just a                 string"
-{"name":"bad2","id":6,"numbers":"not an 
array","scores":{"key4":40},"details":{"a":4,"b":"text","c":4000000}}
diff --git 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_table/1
 
b/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_table/1
deleted file mode 100644
index 11a3edf6e80..00000000000
--- 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_table/1
+++ /dev/null
@@ -1,2 +0,0 @@
-{"id": 1, "name": "Alice", "numbers": [1, 2, 3], "scores": {"math": 90, 
"english": 85}, "details": {"a": 100, "b": "test1", "c": 1234567890}}
-{"id": 2, "name": "Bob", "numbers": [4, 5], "scores": {"math": 80, "science": 
95}, "details": {"a": 200, "b": "test2", "c": 9876543210}}
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_table/2
 
b/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_table/2
deleted file mode 100644
index e77c1f49d85..00000000000
--- 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/json_table/2
+++ /dev/null
@@ -1,11 +0,0 @@
-{"id"  3   "name"  "Bob",
-"numbers": [
-    4 5
-],
-"scores": {
-"math": 80
-},
-"details"
-: {
-"a": 200  , "b"  } "test2", "c": 9876543210
-}}
\ No newline at end of file
diff --git 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/scalar_to_array_tb/1
 
b/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/scalar_to_array_tb/1
deleted file mode 100644
index 24a9acc63a3..00000000000
--- 
a/docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/json/openx_json/scalar_to_array_tb/1
+++ /dev/null
@@ -1 +0,0 @@
-{"name":"Charlie","id":4,"tags":"flink"}
\ No newline at end of file
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java
index 33c945272e7..dfd7d6fe4b8 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java
@@ -1084,14 +1084,6 @@ public class HMSExternalTable extends ExternalTable 
implements MTMVRelatedTableI
     public void beforeMTMVRefresh(MTMV mtmv) throws DdlException {
     }
 
-    public boolean firstColumnIsString() {
-        List<Column> columns = getColumns();
-        if (columns == null || columns.isEmpty()) {
-            return false;
-        }
-        return columns.get(0).getType().isScalarType(PrimitiveType.STRING);
-    }
-
     public HoodieTableMetaClient getHudiClient() {
         return Env.getCurrentEnv()
             .getExtMetaCacheMgr()
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java
index d98bf8227e1..9bb09225607 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreClientHelper.java
@@ -95,7 +95,6 @@ public class HiveMetaStoreClientHelper {
 
     public static final String HIVE_JSON_SERDE = 
"org.apache.hive.hcatalog.data.JsonSerDe";
     public static final String LEGACY_HIVE_JSON_SERDE = 
"org.apache.hadoop.hive.serde2.JsonSerDe";
-    public static final String OPENX_JSON_SERDE = 
"org.openx.data.jsonserde.JsonSerDe";
 
     public enum HiveFileFormat {
         TEXT_FILE(0, "text"),
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveProperties.java 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveProperties.java
index b06ea772fab..74f3dcc1a9d 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveProperties.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveProperties.java
@@ -55,11 +55,6 @@ public class HiveProperties {
     public static final String PROP_ESCAPE_CHAR = OpenCSVSerde.ESCAPECHAR;
     public static final String DEFAULT_ESCAPE_CHAR = "\\";
 
-    // org.openx.data.jsonserde.JsonSerDe
-    public static final String PROP_OPENX_IGNORE_MALFORMED_JSON = 
"ignore.malformed.json";
-    public static final String DEFAULT_OPENX_IGNORE_MALFORMED_JSON = "false";
-
-
     public static final Set<String> HIVE_SERDE_PROPERTIES = ImmutableSet.of(
             PROP_FIELD_DELIMITER,
             PROP_COLLECTION_DELIMITER_HIVE2,
@@ -136,13 +131,6 @@ public class HiveProperties {
         return 
HiveMetaStoreClientHelper.firstPresentOrDefault(DEFAULT_ESCAPE_CHAR, 
escapeChar);
     }
 
-    public static String getOpenxJsonIgnoreMalformed(Table table) {
-        Optional<String> escapeChar = 
HiveMetaStoreClientHelper.getSerdeProperty(table,
-                PROP_OPENX_IGNORE_MALFORMED_JSON);
-        return 
HiveMetaStoreClientHelper.firstPresentOrDefault(DEFAULT_OPENX_IGNORE_MALFORMED_JSON,
 escapeChar);
-    }
-
-
     // Set properties to table
     public static void setTableProperties(Table table, Map<String, String> 
properties) {
         HashMap<String, String> serdeProps = new HashMap<>();
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java
index c2503789580..890f6147f33 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/source/HiveScanNode.java
@@ -125,7 +125,7 @@ public class HiveScanNode extends FileQueryScanNode {
             this.hiveTransaction = new 
HiveTransaction(DebugUtil.printId(ConnectContext.get().queryId()),
                     ConnectContext.get().getQualifiedUser(), hmsTable, 
hmsTable.isFullAcidTable());
             Env.getCurrentHiveTransactionMgr().register(hiveTransaction);
-            skipCheckingAcidVersionFile = 
sessionVariable.skipCheckingAcidVersionFile;
+            skipCheckingAcidVersionFile = 
ConnectContext.get().getSessionVariable().skipCheckingAcidVersionFile;
         }
     }
 
@@ -413,17 +413,6 @@ public class HiveScanNode extends FileQueryScanNode {
             if (serDeLib.equals(HiveMetaStoreClientHelper.HIVE_JSON_SERDE)
                     || 
serDeLib.equals(HiveMetaStoreClientHelper.LEGACY_HIVE_JSON_SERDE)) {
                 type = TFileFormatType.FORMAT_JSON;
-            } else if 
(serDeLib.equals(HiveMetaStoreClientHelper.OPENX_JSON_SERDE)) {
-                if (!sessionVariable.isReadHiveJsonInOneColumn()) {
-                    type = TFileFormatType.FORMAT_JSON;
-                } else if (sessionVariable.isReadHiveJsonInOneColumn()
-                        && hmsTable.firstColumnIsString()) {
-                    type = TFileFormatType.FORMAT_CSV_PLAIN;
-                } else {
-                    throw new UserException("You set 
read_hive_json_in_one_column = true, but the first column of "
-                            + "table " + hmsTable.getName()
-                            + " is not a string column.");
-                }
             } else {
                 type = TFileFormatType.FORMAT_CSV_PLAIN;
             }
@@ -460,7 +449,7 @@ public class HiveScanNode extends FileQueryScanNode {
             fileAttributes.setTextParams(textParams);
             fileAttributes.setHeaderType("");
             fileAttributes.setEnableTextValidateUtf8(
-                    sessionVariable.enableTextValidateUtf8);
+                    
ConnectContext.get().getSessionVariable().enableTextValidateUtf8);
         } else if 
(serDeLib.equals("org.apache.hadoop.hive.serde2.OpenCSVSerde")) {
             TFileTextScanRangeParams textParams = new 
TFileTextScanRangeParams();
             // set set properties of OpenCSVSerde
@@ -478,7 +467,7 @@ public class HiveScanNode extends FileQueryScanNode {
                 fileAttributes.setTrimDoubleQuotes(true);
             }
             fileAttributes.setEnableTextValidateUtf8(
-                    sessionVariable.enableTextValidateUtf8);
+                    
ConnectContext.get().getSessionVariable().enableTextValidateUtf8);
         } else if (serDeLib.equals("org.apache.hive.hcatalog.data.JsonSerDe")) 
{
             TFileTextScanRangeParams textParams = new 
TFileTextScanRangeParams();
             textParams.setColumnSeparator("\t");
@@ -492,37 +481,6 @@ public class HiveScanNode extends FileQueryScanNode {
             fileAttributes.setReadJsonByLine(true);
             fileAttributes.setStripOuterArray(false);
             fileAttributes.setHeaderType("");
-        } else if (serDeLib.equals("org.openx.data.jsonserde.JsonSerDe")) {
-            if (!sessionVariable.isReadHiveJsonInOneColumn()) {
-                TFileTextScanRangeParams textParams = new 
TFileTextScanRangeParams();
-                textParams.setColumnSeparator("\t");
-                textParams.setLineDelimiter("\n");
-                fileAttributes.setTextParams(textParams);
-
-                fileAttributes.setJsonpaths("");
-                fileAttributes.setJsonRoot("");
-                fileAttributes.setNumAsString(true);
-                fileAttributes.setFuzzyParse(false);
-                fileAttributes.setReadJsonByLine(true);
-                fileAttributes.setStripOuterArray(false);
-                fileAttributes.setHeaderType("");
-
-                fileAttributes.setOpenxJsonIgnoreMalformed(
-                        
Boolean.parseBoolean(HiveProperties.getOpenxJsonIgnoreMalformed(table)));
-            } else if (sessionVariable.isReadHiveJsonInOneColumn()
-                    && hmsTable.firstColumnIsString()) {
-                TFileTextScanRangeParams textParams = new 
TFileTextScanRangeParams();
-                textParams.setLineDelimiter("\n");
-                textParams.setColumnSeparator("\n");
-                //First, perform row splitting according to `\n`. When 
performing column splitting,
-                // since there is no `\n`, only one column of data will be 
generated.
-                fileAttributes.setTextParams(textParams);
-                fileAttributes.setHeaderType("");
-            } else {
-                throw new UserException("You set read_hive_json_in_one_column 
= true, but the first column of table "
-                        + hmsTable.getName()
-                        + " is not a string column.");
-            }
         } else {
             throw new UserException(
                     "unsupported hive table serde: " + serDeLib);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
index 48ac010e830..86c47de612f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java
@@ -708,8 +708,6 @@ public class SessionVariable implements Serializable, 
Writable {
             "enable_cooldown_replica_affinity";
     public static final String SKIP_CHECKING_ACID_VERSION_FILE = 
"skip_checking_acid_version_file";
 
-    public static final String READ_HIVE_JSON_IN_ONE_COLUMN = 
"read_hive_json_in_one_column";
-
     /**
      * Inserting overwrite for auto partition table allows creating partition 
for
      * datas which cannot find partition to overwrite.
@@ -1222,17 +1220,6 @@ public class SessionVariable implements Serializable, 
Writable {
     @VariableMgr.VarAttr(name = PARALLEL_PREPARE_THRESHOLD, fuzzy = true)
     public int parallelPrepareThreshold = 32;
 
-    @VariableMgr.VarAttr(name = READ_HIVE_JSON_IN_ONE_COLUMN,
-            description = {"在读取hive 
json的时候,由于存在一些不支持的json格式,我们默认会报错。为了让用户使用体验更好,"
-                    + 
"当该变量为true的时候,将一整行json读取到第一列中,用户可以自行选择对一整行json进行处理,例如JSON_PARSE。"
-                    + "需要表的第一列的数据类型为string.",
-                    "When reading hive json, we will report an error by 
default because there are some unsupported "
-                    + "json formats. In order to provide users with a better 
experience, when this variable is true,"
-                    + "a whole line of json is read into the first column. 
Users can choose to process a whole line"
-                    + "of json, such as JSON_PARSE. The data type of the first 
column of the table needs to"
-                    + "be string."})
-    private boolean readHiveJsonInOneColumn = false;
-
     @VariableMgr.VarAttr(name = ENABLE_COST_BASED_JOIN_REORDER)
     private boolean enableJoinReorderBasedCost = false;
 
@@ -3784,14 +3771,6 @@ public class SessionVariable implements Serializable, 
Writable {
         this.keepCarriageReturn = keepCarriageReturn;
     }
 
-    public boolean isReadHiveJsonInOneColumn() {
-        return readHiveJsonInOneColumn;
-    }
-
-    public void setReadHiveJsonInOneColumn(boolean readHiveJsonInOneColumn) {
-        this.readHiveJsonInOneColumn = readHiveJsonInOneColumn;
-    }
-
     public boolean isDropTableIfCtasFailed() {
         return dropTableIfCtasFailed;
     }
diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift
index 3165a6ac764..407c77fc340 100644
--- a/gensrc/thrift/PlanNodes.thrift
+++ b/gensrc/thrift/PlanNodes.thrift
@@ -271,9 +271,6 @@ struct TFileAttributes {
     11: optional i32 skip_lines;
     //For text type file reading, whether to enable utf8 encoding 
check.(Catalog && TVF)
     12: optional bool enable_text_validate_utf8 = true;
-    // org.openx.data.jsonserde.JsonSerDe
-    13: optional bool openx_json_ignore_malformed = false;
-
     // for cloud copy into
     1001: optional bool ignore_csv_redundant_col;
 }
diff --git 
a/regression-test/data/external_table_p0/hive/test_hive_openx_json.out 
b/regression-test/data/external_table_p0/hive/test_hive_openx_json.out
deleted file mode 100644
index 6eadea56694..00000000000
Binary files 
a/regression-test/data/external_table_p0/hive/test_hive_openx_json.out and 
/dev/null differ
diff --git 
a/regression-test/suites/external_table_p0/hive/test_hive_openx_json.groovy 
b/regression-test/suites/external_table_p0/hive/test_hive_openx_json.groovy
deleted file mode 100644
index b9698809c4d..00000000000
--- a/regression-test/suites/external_table_p0/hive/test_hive_openx_json.groovy
+++ /dev/null
@@ -1,84 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-suite("test_hive_openx_json",  
"p0,external,hive,external_docker,external_docker_hive") {
-
-
-    String enabled = context.config.otherConfigs.get("enableHiveTest")
-    if (enabled == null || !enabled.equalsIgnoreCase("true")) {
-        logger.info("diable Hive test.")
-        return;
-    }
-
-    for (String hivePrefix : ["hive3"]) {
-        try {
-            sql """set enable_fallback_to_original_planner=false"""
-            String externalEnvIp = 
context.config.otherConfigs.get("externalEnvIp")
-            String hms_port = context.config.otherConfigs.get(hivePrefix + 
"HmsPort")
-            String catalog_name = "${hivePrefix}_test_hive_openx_json"
-            String broker_name = "hdfs"
-
-            sql """drop catalog if exists ${catalog_name}"""
-            sql """create catalog if not exists ${catalog_name} properties (
-                'type'='hms',
-                'hive.metastore.uris'='thrift://${externalEnvIp}:${hms_port}'
-            );"""
-            sql """use `${catalog_name}`.`openx_json`"""
-
-            try {
-                sql  """ select * from json_table """;
-            } catch (Exception e) {
-                log.info(e.getMessage())
-                assertTrue(e.getMessage().contains("DATA_QUALITY_ERROR"))
-            }
-
-            order_qt_q1  """  select * from json_table_ignore_malformed """
-
-
-            try{
-                sql  """ select * from json_data_arrays_tb """;
-            } catch (Exception e) {
-                log.info(e.getMessage())
-                assertTrue(e.getMessage().contains("DATA_QUALITY_ERROR"))
-            }
-    
-    
-            try{
-                sql  """ select * from scalar_to_array_tb """;
-            } catch (Exception e) {
-                log.info(e.getMessage())
-                assertTrue(e.getMessage().contains("DATA_QUALITY_ERROR"))
-            }
-
-            sql """ set read_hive_json_in_one_column = true; """
-
-            order_qt_2 """ select * from json_data_arrays_tb """
-            order_qt_3 """ select * from json_one_column_table """
-
-            try{
-                sql  """ select * from scalar_to_array_tb """;
-            } catch (Exception e) {
-                log.info(e.getMessage())
-                assertTrue(e.getMessage().contains("is not a string column."))
-            }
-
-
-            sql """drop catalog if exists ${catalog_name}"""
-        } finally {
-        }
-    }
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to