You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pv...@apache.org on 2020/01/21 13:08:01 UTC
[hive] branch master updated: HIVE-22741: Speed up ObjectStore
method getTableMeta (Zoltan Chovan via Peter Vary)
This is an automated email from the ASF dual-hosted git repository.
pvary pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new b408300 HIVE-22741: Speed up ObjectStore method getTableMeta (Zoltan Chovan via Peter Vary)
b408300 is described below
commit b408300a6a6cb3254f8dcc355ded2c487b51e2e8
Author: Zoltan Chovan <zc...@cloudera.com>
AuthorDate: Tue Jan 21 14:07:29 2020 +0100
HIVE-22741: Speed up ObjectStore method getTableMeta (Zoltan Chovan via Peter Vary)
---
.../java/org/apache/hadoop/hive/metastore/ObjectStore.java | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
index 40a5eb4..a1592cd 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
@@ -1545,13 +1545,15 @@ public class ObjectStore implements RawStore, Configurable {
// performance of this function when called with dbNames="*" and tableNames="*" (fetch all
// tables in all databases, essentially a full dump)
pm.getFetchPlan().addGroup(FetchGroups.FETCH_DATABASE_ON_MTABLE);
- query = pm.newQuery(MTable.class, filterBuilder.toString());
- Collection<MTable> tables = (Collection<MTable>) query.executeWithArray(parameterVals.toArray(new String[0]));
- for (MTable table : tables) {
- TableMeta metaData = new TableMeta(
- table.getDatabase().getName(), table.getTableName(), table.getTableType());
+ query = pm.newQuery(MTable.class, filterBuilder.toString()) ;
+ query.setResult("database.name, tableName, tableType, parameters.get(\"comment\")");
+ List<Object[]> tables = (List<Object[]>) query.executeWithArray(parameterVals.toArray(new String[0]));
+ for (Object[] table : tables) {
+ TableMeta metaData = new TableMeta(table[0].toString(), table[1].toString(), table[2].toString());
metaData.setCatName(catName);
- metaData.setComments(table.getParameters().get("comment"));
+ if (table[3] != null) {
+ metaData.setComments(table[3].toString());
+ }
metas.add(metaData);
}
commited = commitTransaction();