port KYLIN-2068 to BeelineHiveClient(KYLIN-2125)
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ca6837d0 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ca6837d0 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ca6837d0 Branch: refs/heads/master Commit: ca6837d004c0da31c95027b48db589238179f1ed Parents: e2a932e Author: Hongbin Ma <mahong...@apache.org> Authored: Wed Oct 26 13:37:03 2016 +0800 Committer: Hongbin Ma <mahong...@apache.org> Committed: Thu Oct 27 08:30:13 2016 +0800 ---------------------------------------------------------------------- .../org/apache/kylin/source/hive/BeelineHiveClient.java | 10 +++++----- .../java/org/apache/kylin/source/hive/CLIHiveClient.java | 4 ++-- .../apache/kylin/source/hive/HiveSourceTableLoader.java | 1 + .../java/org/apache/kylin/source/hive/HiveTableMeta.java | 6 ++++-- 4 files changed, 12 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/ca6837d0/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java ---------------------------------------------------------------------- diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java b/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java index 0fbc39b..c8d56a5 100644 --- a/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java +++ b/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java @@ -115,7 +115,7 @@ public class BeelineHiveClient implements IHiveClient { List<HiveTableMeta.HiveTableColumnMeta> allColumns = Lists.newArrayList(); while (columns.next()) { - allColumns.add(new HiveTableMeta.HiveTableColumnMeta(columns.getString(4), columns.getString(6))); + allColumns.add(new HiveTableMeta.HiveTableColumnMeta(columns.getString(4), columns.getString(6), columns.getString(12))); } builder.setAllColumns(allColumns); @@ -139,7 +139,7 @@ public class BeelineHiveClient implements IHiveClient { if ("".equals(resultSet.getString(1).trim())) { break; } - partitionColumns.add(new HiveTableMeta.HiveTableColumnMeta(resultSet.getString(1).trim(), resultSet.getString(2).trim())); + partitionColumns.add(new HiveTableMeta.HiveTableColumnMeta(resultSet.getString(1).trim(), resultSet.getString(2).trim(), resultSet.getString(3).trim())); } builder.setPartitionColumns(partitionColumns); } @@ -205,9 +205,9 @@ public class BeelineHiveClient implements IHiveClient { public static void main(String[] args) throws SQLException { - //BeelineHiveClient loader = new BeelineHiveClient("-n root --hiveconf hive.security.authorization.sqlstd.confwhitelist.append='mapreduce.job.*|dfs.*' -u 'jdbc:hive2://sandbox:10000'"); - BeelineHiveClient loader = new BeelineHiveClient(StringUtils.join(args, " ")); - HiveTableMeta hiveTableMeta = loader.getHiveTableMeta("default", "events"); + BeelineHiveClient loader = new BeelineHiveClient("-n root --hiveconf hive.security.authorization.sqlstd.confwhitelist.append='mapreduce.job.*|dfs.*' -u 'jdbc:hive2://sandbox:10000'"); + //BeelineHiveClient loader = new BeelineHiveClient(StringUtils.join(args, " ")); + HiveTableMeta hiveTableMeta = loader.getHiveTableMeta("default", "test001"); System.out.println(hiveTableMeta); loader.close(); } http://git-wip-us.apache.org/repos/asf/kylin/blob/ca6837d0/source-hive/src/main/java/org/apache/kylin/source/hive/CLIHiveClient.java ---------------------------------------------------------------------- diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/CLIHiveClient.java b/source-hive/src/main/java/org/apache/kylin/source/hive/CLIHiveClient.java index ea74470..60cf47a 100644 --- a/source-hive/src/main/java/org/apache/kylin/source/hive/CLIHiveClient.java +++ b/source-hive/src/main/java/org/apache/kylin/source/hive/CLIHiveClient.java @@ -89,11 +89,11 @@ public class CLIHiveClient implements IHiveClient { List<HiveTableMeta.HiveTableColumnMeta> allColumns = Lists.newArrayList(); List<HiveTableMeta.HiveTableColumnMeta> partitionColumns = Lists.newArrayList(); for (FieldSchema fieldSchema : allFields) { - allColumns.add(new HiveTableMeta.HiveTableColumnMeta(fieldSchema.getName(), fieldSchema.getType())); + allColumns.add(new HiveTableMeta.HiveTableColumnMeta(fieldSchema.getName(), fieldSchema.getType(), fieldSchema.getComment())); } if (partitionFields != null && partitionFields.size() > 0) { for (FieldSchema fieldSchema : partitionFields) { - partitionColumns.add(new HiveTableMeta.HiveTableColumnMeta(fieldSchema.getName(), fieldSchema.getType())); + partitionColumns.add(new HiveTableMeta.HiveTableColumnMeta(fieldSchema.getName(), fieldSchema.getType(), fieldSchema.getComment())); } } builder.setAllColumns(allColumns); http://git-wip-us.apache.org/repos/asf/kylin/blob/ca6837d0/source-hive/src/main/java/org/apache/kylin/source/hive/HiveSourceTableLoader.java ---------------------------------------------------------------------- diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveSourceTableLoader.java b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveSourceTableLoader.java index 346d278..388e72b 100644 --- a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveSourceTableLoader.java +++ b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveSourceTableLoader.java @@ -120,6 +120,7 @@ public class HiveSourceTableLoader { cdesc.setDatatype(field.dataType); } cdesc.setId(String.valueOf(i + 1)); + cdesc.setComment(field.comment); columns.add(cdesc); } tableDesc.setColumns(columns.toArray(new ColumnDesc[columnNumber])); http://git-wip-us.apache.org/repos/asf/kylin/blob/ca6837d0/source-hive/src/main/java/org/apache/kylin/source/hive/HiveTableMeta.java ---------------------------------------------------------------------- diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveTableMeta.java b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveTableMeta.java index c2b7c96..784a0bb 100644 --- a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveTableMeta.java +++ b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveTableMeta.java @@ -24,15 +24,17 @@ class HiveTableMeta { static class HiveTableColumnMeta { String name; String dataType; + String comment; - public HiveTableColumnMeta(String name, String dataType) { + public HiveTableColumnMeta(String name, String dataType, String comment) { this.name = name; this.dataType = dataType; + this.comment = comment; } @Override public String toString() { - return "HiveTableColumnMeta{" + "name='" + name + '\'' + ", dataType='" + dataType + '\'' + '}'; + return "HiveTableColumnMeta{" + "name='" + name + '\'' + ", dataType='" + dataType + '\'' + ", comment='" + comment + '\'' + '}'; } }