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

gosonzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 2cc8532  [INLONG-713] add partition filed when create hive table (#543)
2cc8532 is described below

commit 2cc853278d1f7995d22cff2e26b92b50e80fbb55
Author: healchow <[email protected]>
AuthorDate: Sat Jul 10 22:53:55 2021 +0800

    [INLONG-713] add partition filed when create hive table (#543)
    
    Co-authored-by: healzhou <[email protected]>
---
 .../service/core/impl/HiveSourceServiceImpl.java   | 18 ++++++++----------
 .../service/thirdpart/hive/HiveTableOperator.java  | 22 +++++++++++++++++++---
 2 files changed, 27 insertions(+), 13 deletions(-)

diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/HiveSourceServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/HiveSourceServiceImpl.java
index d87e6f9..6a9ca0d 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/HiveSourceServiceImpl.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/HiveSourceServiceImpl.java
@@ -72,7 +72,7 @@ public class HiveSourceServiceImpl implements 
DataSourceService<DatabaseQueryBea
     public void createDb(HiveTableQueryBean bean) throws Exception {
         HiveCreateDbSqlBuilder builder = new HiveCreateDbSqlBuilder();
         String createDbSql = builder.buildDDL(bean);
-        LOGGER.info("create database sql=" + createDbSql);
+        LOGGER.info("create database sql={}", createDbSql);
         hiveServerDao.executeDDL(createDbSql, bean.getJdbcUrl(), 
bean.getUsername(), bean.getPassword());
     }
 
@@ -80,7 +80,7 @@ public class HiveSourceServiceImpl implements 
DataSourceService<DatabaseQueryBea
     public void dropDb(DatabaseQueryBean bean) throws Exception {
         HiveDropDbSqlBuilder builder = new HiveDropDbSqlBuilder();
         String dropDbSql = builder.buildDDL(bean);
-        LOGGER.info("drop database sql=" + dropDbSql);
+        LOGGER.info("drop database sql={}", dropDbSql);
         hiveServerDao.executeDDL(dropDbSql, bean.getJdbcUrl(), 
bean.getUserName(), bean.getPassword());
     }
 
@@ -88,16 +88,15 @@ public class HiveSourceServiceImpl implements 
DataSourceService<DatabaseQueryBea
     public void createTable(HiveTableQueryBean bean) throws Exception {
         HiveTableCreateSqlBuilder builder = new HiveTableCreateSqlBuilder();
         String createTableSql = builder.buildDDL(bean);
-        LOGGER.info("create table sql=" + createTableSql);
-        hiveServerDao.executeDDL(createTableSql, bean.getJdbcUrl(),
-                bean.getUsername(), bean.getPassword());
+        LOGGER.info("create table sql={}", createTableSql);
+        hiveServerDao.executeDDL(createTableSql, bean.getJdbcUrl(), 
bean.getUsername(), bean.getPassword());
     }
 
     @Override
     public void dropTable(HiveTableQueryBean bean) throws Exception {
         HiveDropTableSqlBuilder builder = new HiveDropTableSqlBuilder();
         String dropTableSql = builder.buildDDL(bean);
-        LOGGER.info("drop table sql=" + dropTableSql);
+        LOGGER.info("drop table sql={}", dropTableSql);
         hiveServerDao.executeDDL(dropTableSql, bean.getJdbcUrl(),
                 bean.getUsername(), bean.getPassword());
     }
@@ -114,7 +113,7 @@ public class HiveSourceServiceImpl implements 
DataSourceService<DatabaseQueryBea
         }
         HiveAddColumnSqlBuilder builder = new HiveAddColumnSqlBuilder();
         String addColumnSql = builder.buildDDL(bean);
-        LOGGER.info("add table Column sql=" + addColumnSql);
+        LOGGER.info("add table Column sql={}", addColumnSql);
         hiveServerDao.executeDDL(addColumnSql, bean.getJdbcUrl(),
                 bean.getUsername(), bean.getPassword());
     }
@@ -138,7 +137,7 @@ public class HiveSourceServiceImpl implements 
DataSourceService<DatabaseQueryBea
 
         HiveChangeColumnBuilder builder = new HiveChangeColumnBuilder();
         String updateColumnSql = builder.buildDDL(tableQueryBean);
-        LOGGER.info("update table Column sql=" + updateColumnSql);
+        LOGGER.info("update table Column sql={}", updateColumnSql);
         hiveServerDao.executeDDL(updateColumnSql, tableQueryBean.getJdbcUrl(),
                 tableQueryBean.getUsername(), tableQueryBean.getPassword());
     }
@@ -156,11 +155,10 @@ public class HiveSourceServiceImpl implements 
DataSourceService<DatabaseQueryBea
 
         HiveQueryTableSqlBuilder tableBuilder = new HiveQueryTableSqlBuilder();
         String querySql = tableBuilder.buildDDL(queryBean);
-        LOGGER.info("query sql=" + querySql);
+        LOGGER.info("query sql={}", querySql);
 
         if (querySql != null && hiveServerDao.isExistTable(jdbcUrl, username, 
password,
                 queryBean.getDbName(), queryBean.getTableName())) {
-
             return hiveServerDao.queryStructure(querySql, jdbcUrl, username, 
password);
         }
         return Collections.emptyList();
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/HiveTableOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/HiveTableOperator.java
index d2a4b8f..8be5502 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/HiveTableOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/thirdpart/hive/HiveTableOperator.java
@@ -88,10 +88,13 @@ public class HiveTableOperator {
     }
 
     protected HiveTableQueryBean getTableQueryBean(DataStreamInfoToHiveConfig 
hiveConfig) {
-        List<StorageHiveFieldEntity> fieldEntities = storageHiveFieldMapper
-                .queryHiveFieldsByStreamId(hiveConfig.getBusinessIdentifier(), 
hiveConfig.getDataStreamIdentifier());
-        List<HiveColumnQueryBean> columnQueryBeans = new ArrayList<>();
+        String bid = hiveConfig.getBusinessIdentifier();
+        String dsid = hiveConfig.getDataStreamIdentifier();
+        log.info("begin to get table query bean for bid={}, dsid={}", bid, 
dsid);
+
+        List<StorageHiveFieldEntity> fieldEntities = 
storageHiveFieldMapper.queryHiveFieldsByStreamId(bid, dsid);
 
+        List<HiveColumnQueryBean> columnQueryBeans = new ArrayList<>();
         for (StorageHiveFieldEntity field : fieldEntities) {
             HiveColumnQueryBean columnBean = new HiveColumnQueryBean();
             columnBean.setColumnName(field.getFieldName());
@@ -100,6 +103,16 @@ public class HiveTableOperator {
             columnQueryBeans.add(columnBean);
         }
 
+        // set partition field and type
+        String partitionField = hiveConfig.getPrimaryPartition();
+        if (partitionField != null) {
+            HiveColumnQueryBean partColumn = new HiveColumnQueryBean();
+            partColumn.setPartition(true);
+            partColumn.setColumnName(partitionField);
+            partColumn.setColumnType("string"); // currently only supports 
'string' type
+            columnQueryBeans.add(partColumn);
+        }
+
         HiveTableQueryBean queryBean = new HiveTableQueryBean();
         queryBean.setColumns(columnQueryBeans);
         queryBean.setUsername(hiveConfig.getUserName());
@@ -108,6 +121,9 @@ public class HiveTableOperator {
         queryBean.setDbName(hiveConfig.getDbName());
         queryBean.setJdbcUrl(hiveConfig.getJdbcUrl());
 
+        if (log.isDebugEnabled()) {
+            log.debug("success to get table query bean={}", queryBean);
+        }
         return queryBean;
     }
 }

Reply via email to