Parcourir la source

[Fix-10795][plugin] sqoop task query columns bug (#10776)

* [Improvement][Api] add @Override on the Override method

* [FIX]sqoop task query columns bug

* merge two if

* update checkstyle problem

* Update dolphinscheduler-task-plugin/dolphinscheduler-task-sqoop/src/main/java/org/apache/dolphinscheduler/plugin/task/sqoop/SqoopColumnType.java

Co-authored-by: Wenjun Ruan <wenjun@apache.org>

* Update dolphinscheduler-task-plugin/dolphinscheduler-task-sqoop/src/main/java/org/apache/dolphinscheduler/plugin/task/sqoop/generator/sources/MySQLSourceGenerator.java

Co-authored-by: Wenjun Ruan <wenjun@apache.org>

* code format

* code format

---------

Co-authored-by: Wenjun Ruan <wenjun@apache.org>
Co-authored-by: xiangzihao <460888207@qq.com>
KingsleyY il y a 1 an
Parent
commit
512f4c7021

+ 41 - 0
dolphinscheduler-task-plugin/dolphinscheduler-task-sqoop/src/main/java/org/apache/dolphinscheduler/plugin/task/sqoop/SqoopColumnType.java

@@ -0,0 +1,41 @@
+/*
+ * 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.
+ */
+
+package org.apache.dolphinscheduler.plugin.task.sqoop;
+
+public enum SqoopColumnType {
+
+    ALL_COLUMNS(0, "GET_ALL_COLUMNS"),
+    CUSTOMIZE_COLUMNS(1, "CUSTOMIZE_COLUMNS");
+
+    private final Integer code;
+
+    private final String desc;
+
+    SqoopColumnType(Integer code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+}

+ 3 - 1
dolphinscheduler-task-plugin/dolphinscheduler-task-sqoop/src/main/java/org/apache/dolphinscheduler/plugin/task/sqoop/generator/sources/MySQLSourceGenerator.java

@@ -37,6 +37,7 @@ import static org.apache.dolphinscheduler.plugin.task.sqoop.SqoopConstants.TABLE
 import org.apache.dolphinscheduler.common.utils.JSONUtils;
 import org.apache.dolphinscheduler.plugin.datasource.api.utils.DataSourceUtils;
 import org.apache.dolphinscheduler.plugin.task.api.model.Property;
+import org.apache.dolphinscheduler.plugin.task.sqoop.SqoopColumnType;
 import org.apache.dolphinscheduler.plugin.task.sqoop.SqoopQueryType;
 import org.apache.dolphinscheduler.plugin.task.sqoop.SqoopTaskExecutionContext;
 import org.apache.dolphinscheduler.plugin.task.sqoop.generator.ISourceGenerator;
@@ -89,7 +90,8 @@ public class MySQLSourceGenerator implements ISourceGenerator {
                                     .append(SPACE).append(sourceMysqlParameter.getSrcTable());
                         }
 
-                        if (StringUtils.isNotEmpty(sourceMysqlParameter.getSrcColumns())) {
+                        if (sourceMysqlParameter.getSrcColumnType() == SqoopColumnType.CUSTOMIZE_COLUMNS.getCode()
+                                && StringUtils.isNotEmpty(sourceMysqlParameter.getSrcColumns())) {
                             mysqlSourceSb.append(SPACE).append(COLUMNS)
                                     .append(SPACE).append(sourceMysqlParameter.getSrcColumns());
                         }