diff --git a/bin/submit.sh b/bin/submit.sh
index e85cb72817..ed80a8bd23 100644
--- a/bin/submit.sh
+++ b/bin/submit.sh
@@ -31,8 +31,12 @@ else
fi
fi
-export CHUNJUN_HOME="$(cd "`dirname "$0"`"/..; pwd)"
-JAR_DIR=$CHUNJUN_HOME/lib/*
+if [[ $CHUNJUN_HOME && -z $CHUNJUN_HOME ]];then
+ export CHUNJUN_HOME=$CHUNJUN_HOME
+else
+ export CHUNJUN_HOME="$(cd "`dirname "$0"`"/../chunjun-dist; pwd)"
+fi
+JAR_DIR=$CHUNJUN_HOME/../lib/*
CLASS_NAME=com.dtstack.chunjun.client.Launcher
JOBTYPE="sync"
diff --git a/chunjun-clients/pom.xml b/chunjun-clients/pom.xml
index 3ea28a0135..5c5fb0da4b 100644
--- a/chunjun-clients/pom.xml
+++ b/chunjun-clients/pom.xml
@@ -1,104 +1,201 @@
-
- chunjun
- com.dtstack.chunjun
- 1.12-SNAPSHOT
-
- 4.0.0
-
- chunjun-clients
- ChunJun : Clients
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ chunjun
+ com.dtstack.chunjun
+ 1.12-SNAPSHOT
+
+ 4.0.0
-
+ chunjun-clients
+ ChunJun : Clients
+
org.apache.flink
flink-kubernetes_${scala.binary.version}
${flink.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+
+ com.dtstack.chunjun
+ chunjun-core
+ ${project.version}
+
+
+ commons-logging
+ commons-logging
+
+
+ logback-classic
+ ch.qos.logback
+
+
+ logback-core
+ ch.qos.logback
+
+
+ minlog
+ com.esotericsoftware.minlog
+
+
-
- com.dtstack.chunjun
- chunjun-core
- ${project.version}
-
-
-
- commons-codec
- commons-codec
- 1.9
-
-
-
-
- org.apache.hadoop
- hadoop-hdfs
- ${hadoop.version}
-
-
- commons-cli
- commons-cli
-
+
+ commons-codec
+ commons-codec
+ 1.9
+
+
+
+
+ org.apache.hadoop
+ hadoop-hdfs
+ ${hadoop.version}
+
+
+ commons-cli
+ commons-cli
+
netty-all
io.netty
-
-
-
-
- org.apache.hadoop
- hadoop-common
- ${hadoop.version}
-
-
- commons-cli
- commons-cli
-
-
-
-
-
- org.apache.hadoop
- hadoop-yarn-common
- ${hadoop.version}
-
-
- commons-cli
- commons-cli
-
-
-
-
-
- org.apache.hadoop
- hadoop-yarn-client
- ${hadoop.version}
-
-
- commons-cli
- commons-cli
-
-
-
-
- org.apache.hadoop
- hadoop-mapreduce-client-core
- ${hadoop.version}
-
-
- org.apache.hadoop
- hadoop-yarn-api
- ${hadoop.version}
-
-
- org.apache.avro
- avro
- 1.8.2
-
+
+ log4j
+ log4j
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+
+ org.apache.hadoop
+ hadoop-common
+ ${hadoop.version}
+
+
+ commons-cli
+ commons-cli
+
+
+ guava
+ com.google.guava
+
+
+ slf4j-api
+ org.slf4j
+
+
+ log4j
+ log4j
+
+
+ slf4j-log4j12
+ org.slf4j
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+
+ org.apache.hadoop
+ hadoop-yarn-common
+ ${hadoop.version}
+
+
+ commons-cli
+ commons-cli
+
+
+ guava
+ com.google.guava
+
+
+ slf4j-api
+ org.slf4j
+
+
+ log4j
+ log4j
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+
+ org.apache.hadoop
+ hadoop-yarn-client
+ ${hadoop.version}
+
+
+ commons-cli
+ commons-cli
+
+
+ log4j
+ log4j
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ org.apache.hadoop
+ hadoop-mapreduce-client-core
+ ${hadoop.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+ slf4j-log4j12
+ org.slf4j
+
+
+
+
+ org.apache.hadoop
+ hadoop-yarn-api
+ ${hadoop.version}
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ org.apache.avro
+ avro
+ 1.8.2
+
+
+ slf4j-api
+ org.slf4j
+
+
+
org.apache.flink
@@ -106,80 +203,80 @@
${flink.version}
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
-
-
- package
-
- shade
-
-
- false
-
-
-
-
-
-
-
- reference.conf
-
-
-
- core-default.xml
-
-
-
- core-site.xml
-
-
-
- yarn-default.xml
-
-
-
- mapred-default.xml
-
-
-
- mapred-site.xml
-
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
-
-
-
-
-
- maven-antrun-plugin
-
-
- copy-resources
-
- package
-
- run
-
-
-
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+
+
+ package
+
+ shade
+
+
+ false
+
+
+
+
+
+
+
+ reference.conf
+
+
+
+ core-default.xml
+
+
+
+ core-site.xml
+
+
+
+ yarn-default.xml
+
+
+
+ mapred-default.xml
+
+
+
+ mapred-site.xml
+
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+ maven-antrun-plugin
+
+
+ copy-resources
+
+ package
+
+ run
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/chunjun-connectors/chunjun-connector-doris/src/main/java/com/dtstack/chunjun/connector/doris/rest/FeRestService.java b/chunjun-connectors/chunjun-connector-doris/src/main/java/com/dtstack/chunjun/connector/doris/rest/FeRestService.java
index 5c826c7c29..e1226bc634 100644
--- a/chunjun-connectors/chunjun-connector-doris/src/main/java/com/dtstack/chunjun/connector/doris/rest/FeRestService.java
+++ b/chunjun-connectors/chunjun-connector-doris/src/main/java/com/dtstack/chunjun/connector/doris/rest/FeRestService.java
@@ -28,8 +28,6 @@
import com.dtstack.chunjun.connector.doris.rest.module.Schema;
import com.dtstack.chunjun.connector.doris.rest.module.Tablet;
-import org.apache.flink.shaded.guava18.com.google.common.annotations.VisibleForTesting;
-
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -242,7 +240,6 @@ private static String parseResponse(HttpURLConnection connection) throws IOExcep
* @return first element is db name, second element is table name
* @throws IllegalArgumentException table identifier is illegal
*/
- @VisibleForTesting
static String[] parseIdentifier(String tableIdentifier) throws IllegalArgumentException {
LOG.trace("Parse identifier '{}'.", tableIdentifier);
if (StringUtils.isEmpty(tableIdentifier)) {
@@ -264,7 +261,6 @@ static String[] parseIdentifier(String tableIdentifier) throws IllegalArgumentEx
* @return the chosen one Doris FE node
* @throws IllegalArgumentException fe nodes is illegal
*/
- @VisibleForTesting
static String randomEndpoint(List feNodes) throws IllegalArgumentException {
LOG.trace("Parse feNodes '{}'.", feNodes);
if (feNodes.isEmpty()) {
@@ -282,7 +278,6 @@ static String randomEndpoint(List feNodes) throws IllegalArgumentExcepti
* @return the chosen one Doris BE node
* @throws IllegalArgumentException BE nodes is illegal
*/
- @VisibleForTesting
public static String randomBackend(DorisConf options) throws IOException {
List backends = getBackends(options);
LOG.trace("Parse beNodes '{}'.", backends);
@@ -302,7 +297,6 @@ public static String randomBackend(DorisConf options) throws IOException {
* @return the chosen one Doris BE node
* @throws IllegalArgumentException BE nodes is illegal
*/
- @VisibleForTesting
static List getBackends(DorisConf options) throws IOException {
List feNodes = options.getFeNodes();
String feNode = randomEndpoint(feNodes);
@@ -351,7 +345,6 @@ static List parseBackend(String response) throws IOException {
* @return uri string
* @throws IllegalArgumentException throw when configuration is illegal
*/
- @VisibleForTesting
static String getUriStr(DorisConf options) throws IllegalArgumentException {
return "http://"
+ randomEndpoint(options.getFeNodes())
@@ -385,7 +378,6 @@ public static Schema getSchema(DorisConf options) throws RuntimeException {
* @return inner {@link Schema} struct
* @throws RuntimeException throw when translate failed
*/
- @VisibleForTesting
public static Schema parseSchema(String response) throws RuntimeException {
LOG.trace("Parse response '{}' to schema.", response);
ObjectMapper mapper = new ObjectMapper();
@@ -472,7 +464,6 @@ public static List findPartitions(DorisConf options)
* @return inner {@link QueryPlan} struct
* @throws RuntimeException throw when translate failed.
*/
- @VisibleForTesting
static QueryPlan getQueryPlan(String response) throws RuntimeException {
ObjectMapper mapper = new ObjectMapper();
QueryPlan queryPlan;
@@ -513,7 +504,6 @@ static QueryPlan getQueryPlan(String response) throws RuntimeException {
* @return BE to tablets {@link Map}
* @throws RuntimeException throw when select failed.
*/
- @VisibleForTesting
static Map> selectBeForTablet(QueryPlan queryPlan) throws RuntimeException {
Map> be2Tablets = new HashMap<>();
for (Map.Entry part : queryPlan.getPartitions().entrySet()) {
@@ -566,7 +556,6 @@ static Map> selectBeForTablet(QueryPlan queryPlan) throws Run
* @param loadConf configuration of request
* @return tablet count limit
*/
- @VisibleForTesting
static int tabletCountLimitForOnePartition(LoadConf loadConf) {
int tabletsSize = DORIS_TABLET_SIZE_DEFAULT;
if (loadConf.getRequestTabletSize() != null) {
@@ -595,7 +584,6 @@ static int tabletCountLimitForOnePartition(LoadConf loadConf) {
* @return Doris RDD partition {@link List}
* @throws IllegalArgumentException throw when translate failed
*/
- @VisibleForTesting
static List tabletsMapToPartition(
DorisConf options,
Map> be2Tablets,
diff --git a/chunjun-connectors/chunjun-connector-ftp/pom.xml b/chunjun-connectors/chunjun-connector-ftp/pom.xml
index 52fd8bf381..2a7ad2f201 100644
--- a/chunjun-connectors/chunjun-connector-ftp/pom.xml
+++ b/chunjun-connectors/chunjun-connector-ftp/pom.xml
@@ -62,6 +62,13 @@ under the License.
easyexcel
3.0.1
+
+
+ org.mortbay.jetty
+ jetty-util
+ 6.1.26
+ provided
+
diff --git a/chunjun-connectors/chunjun-connector-hbase-base/pom.xml b/chunjun-connectors/chunjun-connector-hbase-base/pom.xml
index 5de6fa52ed..bf17fef772 100644
--- a/chunjun-connectors/chunjun-connector-hbase-base/pom.xml
+++ b/chunjun-connectors/chunjun-connector-hbase-base/pom.xml
@@ -33,7 +33,6 @@
1.4.3
- 2.4.1
2.12.1
diff --git a/chunjun-connectors/chunjun-connector-hive3/pom.xml b/chunjun-connectors/chunjun-connector-hive3/pom.xml
new file mode 100644
index 0000000000..913587d1f5
--- /dev/null
+++ b/chunjun-connectors/chunjun-connector-hive3/pom.xml
@@ -0,0 +1,603 @@
+
+
+
+ chunjun-connectors
+ com.dtstack.chunjun
+ 1.12-SNAPSHOT
+
+ 4.0.0
+
+ chunjun-connector-hive3
+ ChunJun : Connectors : Hive3
+
+
+ 8
+ 8
+ 3.1.2
+ 3.1.4
+
+
+
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+ provided
+
+
+ org.slf4j
+ slf4j-log4j12
+ ${slf4j.version}
+ provided
+
+
+ log4j
+ log4j
+ ${log4j.version}
+ provided
+
+
+
+ org.apache.hadoop
+ hadoop-hdfs
+ ${hadoop3.version}
+
+
+ protobuf-java
+ com.google.protobuf
+
+
+ com.google.protobuf
+ protobuf-java-util
+
+
+ commons-cli
+ commons-cli
+
+
+ commons-logging
+ commons-logging
+
+
+ log4j
+ log4j
+
+
+
+
+ org.apache.hadoop
+ hadoop-common
+ ${hadoop3.version}
+
+
+ protobuf-java
+ com.google.protobuf
+
+
+ com.google.protobuf
+ protobuf-java-util
+
+
+ guava
+ com.google.guava
+
+
+ avro
+ org.apache.avro
+
+
+ commons-cli
+ commons-cli
+
+
+ zookeeper
+ org.apache.zookeeper
+
+
+ slf4j-api
+ org.slf4j
+
+
+ commons-logging
+ commons-logging
+
+
+ log4j
+ log4j
+
+
+ slf4j-log4j12
+ org.slf4j
+
+
+
+
+ org.apache.hadoop
+ hadoop-yarn-common
+ ${hadoop3.version}
+
+
+ guava
+ com.google.guava
+
+
+ guice
+ com.google.inject
+
+
+ commons-cli
+ commons-cli
+
+
+ commons-logging
+ commons-logging
+
+
+ log4j
+ log4j
+
+
+
+
+ org.apache.hadoop
+ hadoop-yarn-client
+ ${hadoop3.version}
+
+
+ commons-cli
+ commons-cli
+
+
+ commons-logging
+ commons-logging
+
+
+ log4j
+ log4j
+
+
+
+
+ org.apache.hadoop
+ hadoop-mapreduce-client-core
+ ${hadoop3.version}
+
+
+ avro
+ org.apache.avro
+
+
+ slf4j-log4j12
+ org.slf4j
+
+
+
+
+ org.apache.hadoop
+ hadoop-yarn-api
+ ${hadoop3.version}
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+
+ org.apache.hive
+ hive-exec
+ ${hive.version}
+
+
+ guava
+ com.google.guava
+
+
+ hadoop-annotations
+ org.apache.hadoop
+
+
+ hadoop-auth
+ org.apache.hadoop
+
+
+ hadoop-common
+ org.apache.hadoop
+
+
+ hadoop-yarn-api
+ org.apache.hadoop
+
+
+ hadoop-yarn-common
+ org.apache.hadoop
+
+
+ antlr-runtime
+ org.antlr
+
+
+ calcite-core
+ org.apache.calcite
+
+
+ commons-cli
+ commons-cli
+
+
+ zookeeper
+ org.apache.zookeeper
+
+
+ slf4j-api
+ org.slf4j
+
+
+ jetty-util-ajax
+ org.eclipse.jetty
+
+
+ commons-logging
+ commons-logging
+
+
+ log4j
+ log4j
+
+
+ log4j-1.2-api
+ org.apache.logging.log4j
+
+
+ log4j-api
+ org.apache.logging.log4j
+
+
+ log4j-core
+ org.apache.logging.log4j
+
+
+ log4j-slf4j-impl
+ org.apache.logging.log4j
+
+
+
+
+ org.apache.hive
+ hive-serde
+ ${hive.version}
+
+
+ org.apache.hadoop
+ hadoop-yarn-api
+
+
+ org.xerial.snappy
+ snappy-java
+
+
+ guava
+ com.google.guava
+
+
+ httpclient
+ org.apache.httpcomponents
+
+
+ avro
+ org.apache.avro
+
+
+ commons-cli
+ commons-cli
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+ org.apache.hive
+ hive-streaming
+ ${hive.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+
+ org.apache.thrift
+ libfb303
+ 0.9.3
+
+
+ org.apache.calcite
+ calcite-core
+ 1.19.0.7.1.3.0-100
+
+
+ parquet-hadoop
+ org.apache.parquet
+ 1.8.3
+
+
+ org.xerial.snappy
+ snappy-java
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+ org.xerial.snappy
+ snappy-java
+ 1.1.4
+
+
+ httpcore
+ org.apache.httpcomponents
+ 4.4.5
+
+
+ httpclient
+
+
+ commons-logging
+ commons-logging
+
+
+ org.apache.httpcomponents
+ 4.5.2
+
+
+ org.apache.hive
+ hive-metastore
+ ${hive.version}
+
+
+ org.datanucleus
+ datanucleus-core
+
+
+ org.datanucleus
+ datanucleus-rdbms
+
+
+ guava
+ com.google.guava
+
+
+ hadoop-auth
+ org.apache.hadoop
+
+
+ hadoop-common
+ org.apache.hadoop
+
+
+ guice
+ com.google.inject
+
+
+ zookeeper
+ org.apache.zookeeper
+
+
+ slf4j-api
+ org.slf4j
+
+
+ orc-core
+ org.apache.orc
+
+
+ commons-logging
+ commons-logging
+
+
+ log4j
+ log4j
+
+
+ log4j-1.2-api
+ org.apache.logging.log4j
+
+
+ log4j-slf4j-impl
+ org.apache.logging.log4j
+
+
+
+
+ org.apache.hive
+ hive-common
+ ${hive.version}
+
+
+ hadoop-common
+ org.apache.hadoop
+
+
+ hadoop-hdfs
+ org.apache.hadoop
+
+
+ commons-cli
+ commons-cli
+
+
+ slf4j-api
+ org.slf4j
+
+
+ jetty-webapp
+ org.eclipse.jetty
+
+
+ commons-logging
+ commons-logging
+
+
+ log4j-1.2-api
+ org.apache.logging.log4j
+
+
+ log4j-api
+ org.apache.logging.log4j
+
+
+ log4j-core
+ org.apache.logging.log4j
+
+
+ log4j-slf4j-impl
+ org.apache.logging.log4j
+
+
+
+
+ org.datanucleus
+ datanucleus-core
+ 5.0.1
+
+
+ org.datanucleus
+ datanucleus-api-jdo
+ 5.0.1
+
+
+ org.datanucleus
+ datanucleus-rdbms
+ 5.0.1
+
+
+ org.apache.commons
+ commons-collections4
+ 4.3
+
+
+ commons-cli
+ commons-cli
+ 1.3.1
+ provided
+
+
+
+
+
+
+
+ org.apache.avro
+ avro
+ 1.8.2
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.1.0
+
+
+ package
+
+ shade
+
+
+ false
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+ com.google.common.base
+ shade.hive3.com.google.common.base
+
+
+
+
+
+
+ org.checkerframework
+ shade.hive3.org.checkerframework
+
+
+ com.google.thirdparty
+ shade.hive3.com.google.thirdparty
+
+
+ org.apache.hadoop.util.ShutdownHookManager
+ shade.hive3.org.apache.hadoop.util.ShutdownHookManager
+
+
+
+
+ META-INF/services/java.sql.Driver
+
+
+ META-INF/services
+ java.sql.hive2.Driver
+
+
+
+
+
+
+
+
+ maven-antrun-plugin
+
+
+ copy-resources
+
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chunjun-connectors/chunjun-connector-hive3/src/main/java/com/dtstack/chunjun/connector/hive3/conf/HdfsConf.java b/chunjun-connectors/chunjun-connector-hive3/src/main/java/com/dtstack/chunjun/connector/hive3/conf/HdfsConf.java
new file mode 100644
index 0000000000..9db89d0c47
--- /dev/null
+++ b/chunjun-connectors/chunjun-connector-hive3/src/main/java/com/dtstack/chunjun/connector/hive3/conf/HdfsConf.java
@@ -0,0 +1,204 @@
+/*
+ * 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 com.dtstack.chunjun.connector.hive3.conf;
+
+import com.dtstack.chunjun.conf.BaseFileConf;
+
+import org.apache.parquet.hadoop.ParquetWriter;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/** @author liuliu 2022/3/23 */
+public class HdfsConf extends BaseFileConf {
+ private String defaultFS;
+ private String fileType;
+ /** hadoop高可用相关配置 * */
+ private Map hadoopConfig = new HashMap<>(16);
+
+ private String filterRegex = "";
+ private String fieldDelimiter = "\001";
+ private int rowGroupSize = ParquetWriter.DEFAULT_BLOCK_SIZE;
+ private boolean enableDictionary = true;
+ private List fullColumnName;
+ private List fullColumnType;
+ private int[] fullColumnIndexes;
+
+ /** hive3 事务表 */
+ private boolean isTransaction = false;
+
+ private String partitionName;
+ private String schema;
+ private String table;
+
+ public String getDefaultFS() {
+ return defaultFS;
+ }
+
+ public void setDefaultFS(String defaultFS) {
+ this.defaultFS = defaultFS;
+ }
+
+ public String getFileType() {
+ return fileType;
+ }
+
+ public void setFileType(String fileType) {
+ this.fileType = fileType;
+ }
+
+ public Map getHadoopConfig() {
+ return hadoopConfig;
+ }
+
+ public void setHadoopConfig(Map hadoopConfig) {
+ this.hadoopConfig = hadoopConfig;
+ }
+
+ public String getFilterRegex() {
+ return filterRegex;
+ }
+
+ public void setFilterRegex(String filterRegex) {
+ this.filterRegex = filterRegex;
+ }
+
+ public String getFieldDelimiter() {
+ return fieldDelimiter;
+ }
+
+ public void setFieldDelimiter(String fieldDelimiter) {
+ this.fieldDelimiter = fieldDelimiter;
+ }
+
+ public int getRowGroupSize() {
+ return rowGroupSize;
+ }
+
+ public void setRowGroupSize(int rowGroupSize) {
+ this.rowGroupSize = rowGroupSize;
+ }
+
+ public boolean isEnableDictionary() {
+ return enableDictionary;
+ }
+
+ public void setEnableDictionary(boolean enableDictionary) {
+ this.enableDictionary = enableDictionary;
+ }
+
+ public List getFullColumnName() {
+ return fullColumnName;
+ }
+
+ public void setFullColumnName(List fullColumnName) {
+ this.fullColumnName = fullColumnName;
+ }
+
+ public List getFullColumnType() {
+ return fullColumnType;
+ }
+
+ public void setFullColumnType(List fullColumnType) {
+ this.fullColumnType = fullColumnType;
+ }
+
+ public int[] getFullColumnIndexes() {
+ return fullColumnIndexes;
+ }
+
+ public void setFullColumnIndexes(int[] fullColumnIndexes) {
+ this.fullColumnIndexes = fullColumnIndexes;
+ }
+
+ public String getPartitionName() {
+ return partitionName;
+ }
+
+ public void setPartitionName(String partitionName) {
+ this.partitionName = partitionName;
+ }
+
+ public String getSchema() {
+ return schema;
+ }
+
+ public void setSchema(String schema) {
+ this.schema = schema;
+ }
+
+ public String getTable() {
+ return table;
+ }
+
+ public void setTable(String table) {
+ this.table = table;
+ }
+
+ public boolean isTransaction() {
+ return isTransaction;
+ }
+
+ public void setTransaction(boolean transaction) {
+ isTransaction = transaction;
+ }
+
+ @Override
+ public String toString() {
+ return "HdfsConf{"
+ + "defaultFS='"
+ + defaultFS
+ + '\''
+ + ", fileType='"
+ + fileType
+ + '\''
+ + ", hadoopConfig="
+ + hadoopConfig
+ + ", filterRegex='"
+ + filterRegex
+ + '\''
+ + ", fieldDelimiter='"
+ + fieldDelimiter
+ + '\''
+ + ", rowGroupSize="
+ + rowGroupSize
+ + ", enableDictionary="
+ + enableDictionary
+ + ", fullColumnName="
+ + fullColumnName
+ + ", fullColumnType="
+ + fullColumnType
+ + ", fullColumnIndexes="
+ + Arrays.toString(fullColumnIndexes)
+ + ", isTransaction="
+ + isTransaction
+ + ", partitionName='"
+ + partitionName
+ + '\''
+ + ", schema='"
+ + schema
+ + '\''
+ + ", table='"
+ + table
+ + '\''
+ + '}';
+ }
+}
diff --git a/chunjun-connectors/chunjun-connector-hive3/src/main/java/com/dtstack/chunjun/connector/hive3/converter/HdfsOrcColumnConverter.java b/chunjun-connectors/chunjun-connector-hive3/src/main/java/com/dtstack/chunjun/connector/hive3/converter/HdfsOrcColumnConverter.java
new file mode 100644
index 0000000000..7322470604
--- /dev/null
+++ b/chunjun-connectors/chunjun-connector-hive3/src/main/java/com/dtstack/chunjun/connector/hive3/converter/HdfsOrcColumnConverter.java
@@ -0,0 +1,239 @@
+/*
+ * 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 com.dtstack.chunjun.connector.hive3.converter;
+
+import com.dtstack.chunjun.conf.FieldConf;
+import com.dtstack.chunjun.connector.hive3.conf.HdfsConf;
+import com.dtstack.chunjun.converter.AbstractRowConverter;
+import com.dtstack.chunjun.converter.IDeserializationConverter;
+import com.dtstack.chunjun.converter.ISerializationConverter;
+import com.dtstack.chunjun.element.AbstractBaseColumn;
+import com.dtstack.chunjun.element.ColumnRowData;
+import com.dtstack.chunjun.element.column.BigDecimalColumn;
+import com.dtstack.chunjun.element.column.BooleanColumn;
+import com.dtstack.chunjun.element.column.ByteColumn;
+import com.dtstack.chunjun.element.column.BytesColumn;
+import com.dtstack.chunjun.element.column.SqlDateColumn;
+import com.dtstack.chunjun.element.column.StringColumn;
+import com.dtstack.chunjun.element.column.TimestampColumn;
+import com.dtstack.chunjun.throwable.ChunJunRuntimeException;
+import com.dtstack.chunjun.throwable.UnsupportedTypeException;
+import com.dtstack.chunjun.throwable.WriteRecordException;
+
+import org.apache.flink.table.data.GenericRowData;
+import org.apache.flink.table.data.RowData;
+import org.apache.flink.table.data.TimestampData;
+import org.apache.flink.table.types.logical.DecimalType;
+import org.apache.flink.table.types.logical.LogicalType;
+import org.apache.flink.table.types.logical.RowType;
+
+import org.apache.hadoop.hive.common.type.Date;
+import org.apache.hadoop.hive.common.type.HiveDecimal;
+import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
+import org.apache.hadoop.io.BytesWritable;
+
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.List;
+
+/** @author liuliu 2022/3/23 */
+public class HdfsOrcColumnConverter
+ extends AbstractRowConverter, LogicalType> {
+
+ HdfsConf hdfsConf;
+
+ public HdfsOrcColumnConverter(RowType rowType, HdfsConf hdfsConf) {
+ super(rowType, hdfsConf);
+ this.hdfsConf = hdfsConf;
+ for (int i = 0; i < rowType.getFieldCount(); i++) {
+ toInternalConverters.add(
+ wrapIntoNullableInternalConverter(
+ createInternalConverter(rowType.getTypeAt(i))));
+ toExternalConverters.add(
+ wrapIntoNullableExternalConverter(
+ createExternalConverter(rowType.getTypeAt(i)), rowType.getTypeAt(i)));
+ }
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ protected ISerializationConverter> wrapIntoNullableExternalConverter(
+ ISerializationConverter serializationConverter, LogicalType type) {
+ return (rowData, index, data) -> {
+ if (rowData == null || rowData.isNullAt(index)) {
+ data.add(null);
+ } else {
+ serializationConverter.serialize(rowData, index, data);
+ }
+ };
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public RowData toInternal(RowData input) throws Exception {
+ ColumnRowData row = new ColumnRowData(input.getArity());
+ if (input instanceof GenericRowData) {
+ List fieldConfList = commonConf.getColumn();
+ GenericRowData genericRowData = (GenericRowData) input;
+ for (int i = 0; i < fieldConfList.size(); i++) {
+ row.addField(
+ assembleFieldProps(
+ fieldConfList.get(i),
+ (AbstractBaseColumn)
+ toInternalConverters
+ .get(i)
+ .deserialize(genericRowData.getField(i))));
+ }
+ } else {
+ throw new ChunJunRuntimeException(
+ "Error RowData type, RowData:["
+ + input
+ + "] should be instance of GenericRowData.");
+ }
+ return row;
+ }
+
+ @Override
+ public RowData toInternalLookup(RowData input) {
+ throw new ChunJunRuntimeException("HDFS Connector doesn't support Lookup Table Function.");
+ }
+
+ @Override
+ public List
@@ -130,4 +131,47 @@
+
+
+
+ default
+
+ true
+
+
+ 2.7.5
+
+
+
+ chunjun-connector-hdfs
+ chunjun-connector-hive
+
+
+
+
+
+
+ tdh
+
+
+ chunjun-connector-inceptor
+
+
+
+
+
+
+
+ hive3
+
+ 3.1.4
+
+
+
+ chunjun-connector-hive3
+
+
+
+
+
diff --git a/chunjun-core/pom.xml b/chunjun-core/pom.xml
index c8fe23e35c..d8a72a955d 100644
--- a/chunjun-core/pom.xml
+++ b/chunjun-core/pom.xml
@@ -1,116 +1,132 @@
-
- chunjun
- com.dtstack.chunjun
- 1.12-SNAPSHOT
-
- 4.0.0
-
- chunjun-core
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ chunjun
+ com.dtstack.chunjun
+ 1.12-SNAPSHOT
+
+ 4.0.0
+
+ chunjun-core
ChunJun : Core
-
-
-
- org.apache.logging.log4j
- log4j-core
- ${log4j2.version}
+
+
+
+ org.apache.logging.log4j
+ log4j-core
+ ${log4j2.version}
provided
-
+
-
-
-
- org.apache.logging.log4j
- log4j-slf4j-impl
+
+
+
+ org.apache.logging.log4j
+ log4j-slf4j-impl
${log4j2.version}
provided
-
+
+
org.slf4j
slf4j-api
- 1.7.21
- provided
+ ${slf4j.version}
+
+
+
+ org.slf4j
+ slf4j-log4j12
+ ${slf4j.version}
+
+
+
+ log4j
+ log4j
+ ${log4j.version}
+
ch.qos.logback
logback-classic
- 1.1.7
+ ${logback.version}
+ provided
ch.qos.logback
logback-core
- 1.1.7
+ ${logback.version}
+ provided
+
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+
+ com.google.code.gson
+ gson
+ 2.7
+
+
+
+
+ org.apache.flink
+ flink-core
+ ${flink.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+
+ org.apache.flink
+ flink-streaming-java_${scala.binary.version}
+ ${flink.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
-
- com.google.guava
- guava
-
-
-
- com.google.code.gson
- gson
- 2.7
-
-
-
-
- org.apache.flink
- flink-core
- ${flink.version}
-
-
- slf4j-api
- org.slf4j
-
-
-
-
-
- org.apache.flink
- flink-streaming-java_${scala.binary.version}
- ${flink.version}
-
-
- slf4j-api
- org.slf4j
-
-
-
-
-
- org.apache.flink
- flink-clients_${scala.binary.version}
- ${flink.version}
-
-
- slf4j-api
- org.slf4j
-
-
-
-
-
- org.apache.flink
- flink-runtime-web_${scala.binary.version}
- ${flink.version}
-
-
- slf4j-api
- org.slf4j
-
-
-
+
+ org.apache.flink
+ flink-clients_${scala.binary.version}
+ ${flink.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+
+ org.apache.flink
+ flink-runtime-web_${scala.binary.version}
+ ${flink.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+
org.apache.flink
@@ -124,71 +140,71 @@
-
-
- org.apache.flink
- flink-table-planner-blink_${scala.binary.version}
- ${flink.version}
-
-
- slf4j-api
- org.slf4j
-
-
-
-
-
- org.apache.flink
- flink-table-api-java-bridge_${scala.binary.version}
- ${flink.version}
-
-
- slf4j-api
- org.slf4j
-
-
-
-
-
- org.apache.flink
- flink-statebackend-rocksdb_${scala.binary.version}
- ${flink.version}
-
-
-
- org.apache.flink
- flink-table-common
- ${flink.version}
-
-
-
-
-
-
- org.apache.flink
- flink-hadoop-compatibility_${scala.binary.version}
- ${flink.version}
-
-
- org.xerial.snappy
- snappy-java
-
-
-
-
-
- org.apache.flink
- flink-yarn_${scala.binary.version}
- ${flink.version}
-
-
- flink-shaded-hadoop2
- org.apache.flink
-
-
- slf4j-api
- org.slf4j
-
+
+
+ org.apache.flink
+ flink-table-planner-blink_${scala.binary.version}
+ ${flink.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+
+ org.apache.flink
+ flink-table-api-java-bridge_${scala.binary.version}
+ ${flink.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+
+ org.apache.flink
+ flink-statebackend-rocksdb_${scala.binary.version}
+ ${flink.version}
+
+
+
+ org.apache.flink
+ flink-table-common
+ ${flink.version}
+
+
+
+
+
+
+ org.apache.flink
+ flink-hadoop-compatibility_${scala.binary.version}
+ ${flink.version}
+
+
+ org.xerial.snappy
+ snappy-java
+
+
+
+
+
+ org.apache.flink
+ flink-yarn_${scala.binary.version}
+ ${flink.version}
+
+
+ flink-shaded-hadoop2
+ org.apache.flink
+
+
+ slf4j-api
+ org.slf4j
+
org.apache.hadoop
hadoop-common
@@ -209,48 +225,48 @@
org.apache.hadoop
hadoop-mapreduce-client-core
-
-
-
-
- org.apache.flink
- flink-queryable-state-runtime_${scala.binary.version}
- ${flink.version}
-
-
-
- org.apache.httpcomponents
- httpclient
- ${http.version}
-
-
-
- com.fasterxml.jackson.core
- jackson-databind
- 2.9.10.1
-
-
-
- commons-net
- commons-net
- 3.1
-
-
-
- commons-lang
- commons-lang
- 2.6
-
-
- com.github.jsqlparser
- jsqlparser
- 3.2
- test
-
-
-
-
-
+
+
+
+
+ org.apache.flink
+ flink-queryable-state-runtime_${scala.binary.version}
+ ${flink.version}
+
+
+
+ org.apache.httpcomponents
+ httpclient
+ ${http.version}
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.9.10.1
+
+
+
+ commons-net
+ commons-net
+ 3.1
+
+
+
+ commons-lang
+ commons-lang
+ 2.6
+
+
+ com.github.jsqlparser
+ jsqlparser
+ 3.2
+ test
+
+
+
+
+
net.alchim31.maven
@@ -279,96 +295,91 @@
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
-
-
- package
-
- shade
-
-
- false
-
-
- com.dtstack.chunjun.Main
-
-
-
-
- com.google.guava:*
- com.google.code.gson:*
- ch.qos.logback:*
- org.slf4j:*
- org.apache.httpcomponents:*
- io.prometheus:*
- org.apache.avro:*
- com.fasterxml.jackson.core:*
- commons-*:*
-
-
-
-
- com.google.common
- shade.core.com.google.common
-
-
- com.google.thirdparty
- shade.core.com.google.thirdparty
-
-
- org.apache.http
- shade.core.org.apache.http
-
-
- io.prometheus.client
- shade.core.io.prometheus.client
-
-
-
-
-
-
-
-
- maven-antrun-plugin
-
-
- copy-resources
-
- package
-
- run
-
-
-
-
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+
+
+ package
+
+ shade
+
+
+ false
+
+
+ com.dtstack.chunjun.Main
+
+
+
+
+ com.google.guava:*
+ com.google.code.gson:*
+ ch.qos.logback:*
+ org.slf4j:*
+ org.apache.httpcomponents:*
+ io.prometheus:*
+ org.apache.avro:*
+ com.fasterxml.jackson.core:*
+ commons-*:*
+
+
+
+
+ com.google.common
+ shade.core.com.google.common
+
+
+ com.google.thirdparty
+ shade.core.com.google.thirdparty
+
+
+ org.apache.http
+ shade.core.org.apache.http
+
+
+ io.prometheus.client
+ shade.core.io.prometheus.client
+
+
+
+
+
+
+
+
+ maven-antrun-plugin
+
+
+ copy-resources
+
+ package
+
+ run
+
+
+
+
-
-
-
-
-
-
+
+ excludes="${project.artifactId}-${git.branch}.jar"/>
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/chunjun-examples/json/hive3/hive3_orc_stream.json b/chunjun-examples/json/hive3/hive3_orc_stream.json
new file mode 100644
index 0000000000..8843cb0c43
--- /dev/null
+++ b/chunjun-examples/json/hive3/hive3_orc_stream.json
@@ -0,0 +1,57 @@
+{
+ "job": {
+ "content": [
+ {
+ "reader": {
+ "parameter": {
+ "path": "hdfs://ns/user/hive/warehouse/dtstack1",
+ "hadoopConfig": {
+ "dfs.nameservices": "ns",
+ "fs.defaultFS": "hdfs://ns",
+ "dfs.ha.namenodes.ns": "nn1,nn2",
+ "dfs.namenode.rpc-address.ns.nn1": "hadoop3x1:9000",
+ "dfs.namenode.rpc-address.ns.nn2": "hadoop3x2:9000",
+ "dfs.client.failover.proxy.provider.ns": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
+ "fs.hdfs.impl.disable.cache": "true",
+ "fs.hdfs.impl": "org.apache.hadoop.hdfs.DistributedFileSystem"
+ },
+ "column": [
+ {
+ "index": 0,
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "index": 1,
+ "name": "name",
+ "type": "String"
+ },
+ {
+ "index": 2,
+ "name": "age",
+ "type": "int"
+ }
+ ],
+ "fs.defaultFS": "hdfs://ns",
+ "fieldDelimiter": ",",
+ "encoding": "utf-8",
+ "fileType": "orc"
+ },
+ "name": "hive3reader"
+ },
+ "writer": {
+ "name": "streamwriter",
+ "parameter": {
+ "print": true
+ }
+ }
+ }
+ ],
+ "setting": {
+ "speed": {
+ "channel": 1,
+ "bytes": 0
+ }
+ }
+ }
+}
diff --git a/chunjun-examples/json/hive3/hive3_transaction_stream.json b/chunjun-examples/json/hive3/hive3_transaction_stream.json
new file mode 100644
index 0000000000..0b82e69c6c
--- /dev/null
+++ b/chunjun-examples/json/hive3/hive3_transaction_stream.json
@@ -0,0 +1,58 @@
+{
+ "job": {
+ "content": [
+ {
+ "reader": {
+ "parameter": {
+ "path": "hdfs://ns/user/hive/warehouse/dtstack",
+ "hadoopConfig": {
+ "dfs.nameservices": "ns",
+ "fs.defaultFS": "hdfs://ns",
+ "dfs.ha.namenodes.ns": "nn1,nn2",
+ "dfs.namenode.rpc-address.ns.nn1": "hadoop3x1:9000",
+ "dfs.namenode.rpc-address.ns.nn2": "hadoop3x2:9000",
+ "dfs.client.failover.proxy.provider.ns": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
+ "fs.hdfs.impl.disable.cache": "true",
+ "fs.hdfs.impl": "org.apache.hadoop.hdfs.DistributedFileSystem"
+ },
+ "column": [
+ {
+ "index": 0,
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "index": 1,
+ "name": "name",
+ "type": "String"
+ },
+ {
+ "index": 2,
+ "name": "age",
+ "type": "int"
+ }
+ ],
+ "defaultFS": "hdfs://ns",
+ "fieldDelimiter": ",",
+ "encoding": "utf-8",
+ "fileType": "orc",
+ "isTransaction": true
+ },
+ "name": "hive3reader"
+ },
+ "writer": {
+ "name": "streamwriter",
+ "parameter": {
+ "print": true
+ }
+ }
+ }
+ ],
+ "setting": {
+ "speed": {
+ "channel": 1,
+ "bytes": 0
+ }
+ }
+ }
+}
diff --git a/chunjun-examples/json/hive3/stream_hive3_orc.json b/chunjun-examples/json/hive3/stream_hive3_orc.json
new file mode 100644
index 0000000000..b90d8e3500
--- /dev/null
+++ b/chunjun-examples/json/hive3/stream_hive3_orc.json
@@ -0,0 +1,79 @@
+{
+ "job": {
+ "content": [
+ {
+ "reader": {
+ "parameter": {
+ "sliceRecordCount": [
+ 10
+ ],
+ "column": [
+ {
+ "index": 0,
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "index": 1,
+ "name": "name",
+ "type": "String"
+ },
+ {
+ "index": 2,
+ "name": "age",
+ "type": "int"
+ }
+ ]
+ },
+ "name": "streamreader"
+ },
+ "writer": {
+ "name": "hive3writer",
+ "parameter": {
+ "path": "hdfs://ns/user/hive/warehouse/dtstack1",
+ "defaultFS": "hdfs://ns",
+ "fieldDelimiter": ",",
+ "encoding": "utf-8",
+ "fileType": "orc",
+ "maxFileSize": 10485760,
+ "nextCheckRows": 20000,
+ "writeMode": "overwrite",
+ "hadoopConfig": {
+ "dfs.nameservices": "ns",
+ "fs.defaultFS": "hdfs://ns",
+ "dfs.ha.namenodes.ns": "nn1,nn2",
+ "dfs.namenode.rpc-address.ns.nn1": "hadoop3x1:9000",
+ "dfs.namenode.rpc-address.ns.nn2": "hadoop3x2:9000",
+ "dfs.client.failover.proxy.provider.ns": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
+ "fs.hdfs.impl.disable.cache": "true",
+ "fs.hdfs.impl": "org.apache.hadoop.hdfs.DistributedFileSystem"
+ },
+ "column": [
+ {
+ "index": 0,
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "index": 1,
+ "name": "name",
+ "type": "String"
+ },
+ {
+ "index": 2,
+ "name": "age",
+ "type": "int"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "setting": {
+ "speed": {
+ "channel": 1,
+ "bytes": 0
+ }
+ }
+ }
+}
diff --git a/chunjun-examples/json/hive3/stream_hive3_transaction.json b/chunjun-examples/json/hive3/stream_hive3_transaction.json
new file mode 100644
index 0000000000..f6ab466256
--- /dev/null
+++ b/chunjun-examples/json/hive3/stream_hive3_transaction.json
@@ -0,0 +1,89 @@
+{
+ "job": {
+ "content": [
+ {
+ "reader": {
+ "parameter": {
+ "sliceRecordCount": [
+ 10
+ ],
+ "column": [
+ {
+ "index": 0,
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "index": 1,
+ "name": "name",
+ "type": "String"
+ },
+ {
+ "index": 2,
+ "name": "age",
+ "type": "int"
+ }
+ ]
+ },
+ "name": "streamreader"
+ },
+ "writer": {
+ "name": "hive3writer",
+ "parameter": {
+ "table": "dtstack",
+ "schema": "default",
+ "isTransaction": true,
+ "path": "hdfs://ns/user/hive/warehouse/dtstack",
+ "defaultFS": "hdfs://ns",
+ "fieldDelimiter": ",",
+ "encoding": "utf-8",
+ "fileType": "ORC",
+ "maxFileSize": 10485760,
+ "nextCheckRows": 20000,
+ "writeMode": "append",
+ "hadoopConfig": {
+ "dfs.nameservices": "ns",
+ "fs.defaultFS": "hdfs://ns",
+ "dfs.ha.namenodes.ns": "nn1,nn2",
+ "dfs.namenode.rpc-address.ns.nn1": "hadoop3x1:9000",
+ "dfs.namenode.rpc-address.ns.nn2": "hadoop3x2:9000",
+ "dfs.client.failover.proxy.provider.ns": "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider",
+ "fs.hdfs.impl.disable.cache": "true",
+ "fs.hdfs.impl": "org.apache.hadoop.hdfs.DistributedFileSystem",
+ "hive.metastore.uris": "thrift://hadoop3x1:9083",
+ "hadoop.user.name": "root",
+ "hive.metastore.warehouse.dir": "/warehouse/tablespace/managed/hive",
+ "hive.metastore.warehouse.external.dir": "/warehouse/tablespace/external/hive",
+ "hive.metastore.execute.setugi": "true",
+ "hive.metastore.dml.events": "true",
+ "hive.metastore.transactional.event.listeners": "org.apache.hive.hcatalog.listener.DbNotificationListener"
+ },
+ "column": [
+ {
+ "index": 0,
+ "name": "id",
+ "type": "int"
+ },
+ {
+ "index": 1,
+ "name": "name",
+ "type": "String"
+ },
+ {
+ "index": 2,
+ "name": "age",
+ "type": "int"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "setting": {
+ "speed": {
+ "channel": 1,
+ "bytes": 0
+ }
+ }
+ }
+}
diff --git a/chunjun-local-test/pom.xml b/chunjun-local-test/pom.xml
index 2f3df67682..e85c149757 100644
--- a/chunjun-local-test/pom.xml
+++ b/chunjun-local-test/pom.xml
@@ -206,11 +206,11 @@
chunjun-connector-saphana
${project.version}
-
- com.dtstack.chunjun
- chunjun-connector-inceptor
- ${project.version}
-
+
+
+
+
+
com.dtstack.chunjun
chunjun-connector-oceanbase
diff --git a/chunjun-restore/chunjun-restore-common/pom.xml b/chunjun-restore/chunjun-restore-common/pom.xml
index 57481227b4..1a285ffb83 100644
--- a/chunjun-restore/chunjun-restore-common/pom.xml
+++ b/chunjun-restore/chunjun-restore-common/pom.xml
@@ -22,20 +22,19 @@
org.slf4j
slf4j-simple
1.7.32
+ provided
-
log4j
log4j
- 1.2.17
+ ${log4j.version}
+ provided
-
com.dtstack.chunjun
chunjun-core
${project.version}
-
diff --git a/pom.xml b/pom.xml
index 41dc0d1d7f..095d4090af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,15 +14,14 @@
chunjun-core
chunjun-connectors
chunjun-clients
-
chunjun-formats
chunjun-docker
chunjun-metrics
chunjun-dirty
chunjun-restore
- chunjun-sql
- chunjun-assembly
-
+ chunjun-sql
+ chunjun-assembly
+
UTF-8
@@ -30,13 +29,16 @@
1.12.7
2.12
0.8.1
- 2.7.5
+ 3.1.4
4.5.3
- 19.0
+ 27.0-jre
2.17.0
chunjun-dist
2.0.4
+ 1.2.17
+ 1.7.36
+ 1.2.11
@@ -97,6 +99,10 @@
commons-cli
commons-cli
+
+ guava
+ com.google.guava
+
@@ -184,6 +190,10 @@
commons-cli
commons-cli
+
+ guava
+ com.google.guava
+
@@ -199,6 +209,12 @@
hadoop-yarn-api
${hadoop.version}
provided
+
+
+ guava
+ com.google.guava
+
+
@@ -207,17 +223,16 @@
1.8.2
provided
-
-
-
-
- com.google.guava
- guava
- ${guava.version}
-
-
-
+
+
+
+
+
+
+
+
+
@@ -379,7 +394,6 @@
-
local-test
@@ -387,33 +401,5 @@
chunjun-local-test
-
-
-
- default
-
- true
-
-
- 2.7.5
-
-
-
- chunjun-connectors/chunjun-connector-hdfs
- chunjun-connectors/chunjun-connector-hive
-
-
-
-
-
-
- tdh
-
-
- chunjun-connectors/chunjun-connector-inceptor
-
-
-
-