http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java new file mode 100644 index 0000000..05e4e0a --- /dev/null +++ b/tajo-catalog/tajo-catalog-drivers/tajo-hive/src/test/java/org/apache/tajo/catalog/store/TestHiveCatalogStore.java @@ -0,0 +1,504 @@ +/** + * 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.tajo.catalog.store; + + +import org.apache.commons.lang.StringEscapeUtils; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.tajo.catalog.*; +import org.apache.tajo.catalog.partition.PartitionDesc; +import org.apache.tajo.catalog.partition.PartitionKey; +import org.apache.tajo.catalog.partition.PartitionMethodDesc; +import org.apache.tajo.catalog.proto.CatalogProtos; +import org.apache.tajo.common.TajoDataTypes; +import org.apache.tajo.conf.TajoConf; +import org.apache.tajo.storage.StorageConstants; +import org.apache.tajo.util.CommonTestingUtil; +import org.apache.tajo.util.KeyValueSet; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +import static org.apache.tajo.TajoConstants.DEFAULT_DATABASE_NAME; +import static org.junit.Assert.*; + +/** + * TestHiveCatalogStore. Test case for + * {@link org.apache.tajo.catalog.store.HiveCatalogStore} + */ + +public class TestHiveCatalogStore { + private static final String DB_NAME = "test_hive"; + private static final String CUSTOMER = "customer"; + private static final String NATION = "nation"; + private static final String REGION = "region"; + private static final String SUPPLIER = "supplier"; + + private static HiveCatalogStore store; + private static Path warehousePath; + + @BeforeClass + public static void setUp() throws Exception { + Path testPath = CommonTestingUtil.getTestDir(); + warehousePath = new Path(testPath, "warehouse"); + + //create local hiveMeta + HiveConf conf = new HiveConf(); + String jdbcUri = "jdbc:derby:;databaseName="+testPath.toUri().getPath()+"metastore_db;create=true"; + conf.set(HiveConf.ConfVars.METASTOREWAREHOUSE.varname, warehousePath.toUri().toString()); + conf.set(HiveConf.ConfVars.METASTORECONNECTURLKEY.varname, jdbcUri); + conf.set(TajoConf.ConfVars.WAREHOUSE_DIR.varname, warehousePath.toUri().toString()); + + // create local HiveCatalogStore. + TajoConf tajoConf = new TajoConf(conf); + store = new HiveCatalogStore(tajoConf); + store.createDatabase(DB_NAME, null); + } + + @AfterClass + public static void tearDown() throws IOException { + store.close(); + } + + @Test + public void testTableUsingTextFile() throws Exception { + TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet()); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("c_custkey", TajoDataTypes.Type.INT4); + schema.addColumn("c_name", TajoDataTypes.Type.TEXT); + schema.addColumn("c_address", TajoDataTypes.Type.TEXT); + schema.addColumn("c_nationkey", TajoDataTypes.Type.INT4); + schema.addColumn("c_phone", TajoDataTypes.Type.TEXT); + schema.addColumn("c_acctbal", TajoDataTypes.Type.FLOAT8); + schema.addColumn("c_mktsegment", TajoDataTypes.Type.TEXT); + schema.addColumn("c_comment", TajoDataTypes.Type.TEXT); + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, CUSTOMER), schema, meta, + new Path(warehousePath, new Path(DB_NAME, CUSTOMER)).toUri()); + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, CUSTOMER)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, CUSTOMER)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + assertEquals(StringEscapeUtils.escapeJava(StorageConstants.DEFAULT_FIELD_DELIMITER), + table1.getMeta().getOption(StorageConstants.TEXT_DELIMITER)); + store.dropTable(DB_NAME, CUSTOMER); + } + + @Test + public void testTableUsingRCFileWithBinarySerde() throws Exception { + KeyValueSet options = new KeyValueSet(); + options.set(StorageConstants.RCFILE_SERDE, StorageConstants.DEFAULT_BINARY_SERDE); + TableMeta meta = new TableMeta(CatalogProtos.StoreType.RCFILE, options); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("r_regionkey", TajoDataTypes.Type.INT4); + schema.addColumn("r_name", TajoDataTypes.Type.TEXT); + schema.addColumn("r_comment", TajoDataTypes.Type.TEXT); + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, REGION), schema, meta, + new Path(warehousePath, new Path(DB_NAME, REGION)).toUri()); + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, REGION)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, REGION)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + assertEquals(StorageConstants.DEFAULT_BINARY_SERDE, + table1.getMeta().getOption(StorageConstants.RCFILE_SERDE)); + store.dropTable(DB_NAME, REGION); + } + + @Test + public void testTableUsingRCFileWithTextSerde() throws Exception { + KeyValueSet options = new KeyValueSet(); + options.set(StorageConstants.RCFILE_SERDE, StorageConstants.DEFAULT_TEXT_SERDE); + TableMeta meta = new TableMeta(CatalogProtos.StoreType.RCFILE, options); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("r_regionkey", TajoDataTypes.Type.INT4); + schema.addColumn("r_name", TajoDataTypes.Type.TEXT); + schema.addColumn("r_comment", TajoDataTypes.Type.TEXT); + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, REGION), schema, meta, + new Path(warehousePath, new Path(DB_NAME, REGION)).toUri()); + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, REGION)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, REGION)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + assertEquals(StorageConstants.DEFAULT_TEXT_SERDE, table1.getMeta().getOption(StorageConstants.RCFILE_SERDE)); + store.dropTable(DB_NAME, REGION); + } + + @Test + public void testTableWithNullValue() throws Exception { + KeyValueSet options = new KeyValueSet(); + options.set(StorageConstants.TEXT_DELIMITER, StringEscapeUtils.escapeJava("\u0002")); + options.set(StorageConstants.TEXT_NULL, StringEscapeUtils.escapeJava("\u0003")); + TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, options); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("s_suppkey", TajoDataTypes.Type.INT4); + schema.addColumn("s_name", TajoDataTypes.Type.TEXT); + schema.addColumn("s_address", TajoDataTypes.Type.TEXT); + schema.addColumn("s_nationkey", TajoDataTypes.Type.INT4); + schema.addColumn("s_phone", TajoDataTypes.Type.TEXT); + schema.addColumn("s_acctbal", TajoDataTypes.Type.FLOAT8); + schema.addColumn("s_comment", TajoDataTypes.Type.TEXT); + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, SUPPLIER), schema, meta, + new Path(warehousePath, new Path(DB_NAME, SUPPLIER)).toUri()); + + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, SUPPLIER)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, SUPPLIER)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + assertEquals(table.getMeta().getOption(StorageConstants.TEXT_DELIMITER), + table1.getMeta().getOption(StorageConstants.TEXT_DELIMITER)); + + assertEquals(table.getMeta().getOption(StorageConstants.TEXT_NULL), + table1.getMeta().getOption(StorageConstants.TEXT_NULL)); + + assertEquals(table1.getMeta().getOption(StorageConstants.TEXT_DELIMITER), + StringEscapeUtils.escapeJava("\u0002")); + + assertEquals(table1.getMeta().getOption(StorageConstants.TEXT_NULL), + StringEscapeUtils.escapeJava("\u0003")); + + store.dropTable(DB_NAME, SUPPLIER); + + } + + @Test + public void testAddTableByPartition() throws Exception { + TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet()); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("n_name", TajoDataTypes.Type.TEXT); + schema.addColumn("n_regionkey", TajoDataTypes.Type.INT4); + schema.addColumn("n_comment", TajoDataTypes.Type.TEXT); + + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, NATION), schema, meta, + new Path(warehousePath, new Path(DB_NAME, NATION)).toUri()); + + org.apache.tajo.catalog.Schema expressionSchema = new org.apache.tajo.catalog.Schema(); + expressionSchema.addColumn("n_nationkey", TajoDataTypes.Type.INT4); + expressionSchema.addColumn("n_date", TajoDataTypes.Type.TEXT); + + PartitionMethodDesc partitions = new PartitionMethodDesc( + DB_NAME, + NATION, + CatalogProtos.PartitionType.COLUMN, "n_nationkey,n_date", expressionSchema); + table.setPartitionMethod(partitions); + + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, NATION)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, NATION)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + Schema partitionSchema = table.getPartitionMethod().getExpressionSchema(); + Schema partitionSchema1 = table1.getPartitionMethod().getExpressionSchema(); + assertEquals(partitionSchema.size(), partitionSchema1.size()); + + for (int i = 0; i < partitionSchema.size(); i++) { + assertEquals(partitionSchema.getColumn(i).getSimpleName(), partitionSchema1.getColumn(i).getSimpleName()); + } + + testAddPartition(table1.getPath(), NATION, "n_nationkey=10/n_date=20150101"); + testAddPartition(table1.getPath(), NATION, "n_nationkey=20/n_date=20150102"); + + testDropPartition(NATION, "n_nationkey=10/n_date=20150101"); + testDropPartition(NATION, "n_nationkey=20/n_date=20150102"); + + CatalogProtos.PartitionDescProto partition = store.getPartition(DB_NAME, NATION, "n_nationkey=10/n_date=20150101"); + assertNull(partition); + + partition = store.getPartition(DB_NAME, NATION, "n_nationkey=20/n_date=20150102"); + assertNull(partition); + + store.dropTable(DB_NAME, NATION); + } + + + private void testAddPartition(URI uri, String tableName, String partitionName) throws Exception { + AlterTableDesc alterTableDesc = new AlterTableDesc(); + alterTableDesc.setTableName(DB_NAME + "." + tableName); + alterTableDesc.setAlterTableType(AlterTableType.ADD_PARTITION); + + Path path = new Path(uri.getPath(), partitionName); + + PartitionDesc partitionDesc = new PartitionDesc(); + partitionDesc.setPartitionName(partitionName); + + List<PartitionKey> partitionKeyList = new ArrayList<PartitionKey>(); + String[] partitionNames = partitionName.split("/"); + for(int i = 0; i < partitionNames.length; i++) { + String[] eachPartitionName = partitionNames[i].split("="); + partitionKeyList.add(new PartitionKey(eachPartitionName[0], eachPartitionName[1])); + } + partitionDesc.setPartitionKeys(partitionKeyList); + partitionDesc.setPath(path.toString()); + + alterTableDesc.setPartitionDesc(partitionDesc); + + store.alterTable(alterTableDesc.getProto()); + + CatalogProtos.PartitionDescProto resultDesc = store.getPartition(DB_NAME, NATION, partitionName); + assertNotNull(resultDesc); + assertEquals(resultDesc.getPartitionName(), partitionName); + assertEquals(resultDesc.getPath(), uri.toString() + "/" + partitionName); + assertEquals(resultDesc.getPartitionKeysCount(), 2); + + for (int i = 0; i < resultDesc.getPartitionKeysCount(); i++) { + CatalogProtos.PartitionKeyProto keyProto = resultDesc.getPartitionKeys(i); + String[] eachName = partitionNames[i].split("="); + assertEquals(keyProto.getPartitionValue(), eachName[1]); + } + } + + + private void testDropPartition(String tableName, String partitionName) throws Exception { + AlterTableDesc alterTableDesc = new AlterTableDesc(); + alterTableDesc.setTableName(DB_NAME + "." + tableName); + alterTableDesc.setAlterTableType(AlterTableType.DROP_PARTITION); + + PartitionDesc partitionDesc = new PartitionDesc(); + partitionDesc.setPartitionName(partitionName); + + alterTableDesc.setPartitionDesc(partitionDesc); + + store.alterTable(alterTableDesc.getProto()); + } + + @Test + public void testGetAllTableNames() throws Exception{ + TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet()); + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("n_name", TajoDataTypes.Type.TEXT); + schema.addColumn("n_regionkey", TajoDataTypes.Type.INT4); + schema.addColumn("n_comment", TajoDataTypes.Type.TEXT); + + String[] tableNames = new String[]{"table1", "table2", "table3"}; + + for(String tableName : tableNames){ + TableDesc table = new TableDesc(CatalogUtil.buildFQName("default", tableName), schema, meta, + new Path(warehousePath, new Path(DB_NAME, tableName)).toUri()); + store.createTable(table.getProto()); + } + + List<String> tables = store.getAllTableNames("default"); + assertEquals(tableNames.length, tables.size()); + + for(String tableName : tableNames){ + assertTrue(tables.contains(tableName)); + } + + for(String tableName : tableNames){ + store.dropTable("default", tableName); + } + } + + @Test + public void testDeleteTable() throws Exception { + TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet()); + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("n_name", TajoDataTypes.Type.TEXT); + schema.addColumn("n_regionkey", TajoDataTypes.Type.INT4); + schema.addColumn("n_comment", TajoDataTypes.Type.TEXT); + + String tableName = "table1"; + TableDesc table = new TableDesc(DB_NAME + "." + tableName, schema, meta, warehousePath.toUri()); + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, tableName)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, tableName)); + FileSystem fs = FileSystem.getLocal(new Configuration()); + assertTrue(fs.exists(new Path(table1.getPath()))); + + store.dropTable(DB_NAME, tableName); + assertFalse(store.existTable(DB_NAME, tableName)); + fs.close(); + } + + @Test + public void testTableUsingSequenceFileWithBinarySerde() throws Exception { + KeyValueSet options = new KeyValueSet(); + options.set(StorageConstants.SEQUENCEFILE_SERDE, StorageConstants.DEFAULT_BINARY_SERDE); + TableMeta meta = new TableMeta(CatalogProtos.StoreType.SEQUENCEFILE, options); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("r_regionkey", TajoDataTypes.Type.INT4); + schema.addColumn("r_name", TajoDataTypes.Type.TEXT); + schema.addColumn("r_comment", TajoDataTypes.Type.TEXT); + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, REGION), schema, meta, + new Path(warehousePath, new Path(DB_NAME, REGION)).toUri()); + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, REGION)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, REGION)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + assertEquals(StorageConstants.DEFAULT_BINARY_SERDE, + table1.getMeta().getOption(StorageConstants.SEQUENCEFILE_SERDE)); + store.dropTable(DB_NAME, REGION); + } + + @Test + public void testTableUsingSequenceFileWithTextSerde() throws Exception { + KeyValueSet options = new KeyValueSet(); + options.set(StorageConstants.SEQUENCEFILE_SERDE, StorageConstants.DEFAULT_TEXT_SERDE); + TableMeta meta = new TableMeta(CatalogProtos.StoreType.SEQUENCEFILE, options); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("r_regionkey", TajoDataTypes.Type.INT4); + schema.addColumn("r_name", TajoDataTypes.Type.TEXT); + schema.addColumn("r_comment", TajoDataTypes.Type.TEXT); + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, REGION), schema, meta, + new Path(warehousePath, new Path(DB_NAME, REGION)).toUri()); + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, REGION)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, REGION)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + assertEquals(StorageConstants.DEFAULT_TEXT_SERDE, table1.getMeta().getOption(StorageConstants.SEQUENCEFILE_SERDE)); + store.dropTable(DB_NAME, REGION); + } + + + @Test + public void testTableUsingParquet() throws Exception { + TableMeta meta = new TableMeta(CatalogProtos.StoreType.PARQUET, new KeyValueSet()); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("c_custkey", TajoDataTypes.Type.INT4); + schema.addColumn("c_name", TajoDataTypes.Type.TEXT); + schema.addColumn("c_address", TajoDataTypes.Type.TEXT); + schema.addColumn("c_nationkey", TajoDataTypes.Type.INT4); + schema.addColumn("c_phone", TajoDataTypes.Type.TEXT); + schema.addColumn("c_acctbal", TajoDataTypes.Type.FLOAT8); + schema.addColumn("c_mktsegment", TajoDataTypes.Type.TEXT); + schema.addColumn("c_comment", TajoDataTypes.Type.TEXT); + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, CUSTOMER), schema, meta, + new Path(warehousePath, new Path(DB_NAME, CUSTOMER)).toUri()); + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, CUSTOMER)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, CUSTOMER)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + store.dropTable(DB_NAME, CUSTOMER); + } + + @Test + public void testDataTypeCompatibility() throws Exception { + String tableName = CatalogUtil.normalizeIdentifier("testDataTypeCompatibility"); + + TableMeta meta = new TableMeta(CatalogProtos.StoreType.CSV, new KeyValueSet()); + + org.apache.tajo.catalog.Schema schema = new org.apache.tajo.catalog.Schema(); + schema.addColumn("col1", TajoDataTypes.Type.INT4); + schema.addColumn("col2", TajoDataTypes.Type.INT1); + schema.addColumn("col3", TajoDataTypes.Type.INT2); + schema.addColumn("col4", TajoDataTypes.Type.INT8); + schema.addColumn("col5", TajoDataTypes.Type.BOOLEAN); + schema.addColumn("col6", TajoDataTypes.Type.FLOAT4); + schema.addColumn("col7", TajoDataTypes.Type.FLOAT8); + schema.addColumn("col8", TajoDataTypes.Type.TEXT); + schema.addColumn("col9", TajoDataTypes.Type.BLOB); + schema.addColumn("col10", TajoDataTypes.Type.TIMESTAMP); + schema.addColumn("col11", TajoDataTypes.Type.DATE); + + TableDesc table = new TableDesc(CatalogUtil.buildFQName(DB_NAME, tableName), schema, meta, + new Path(warehousePath, new Path(DB_NAME, tableName)).toUri()); + store.createTable(table.getProto()); + assertTrue(store.existTable(DB_NAME, tableName)); + + TableDesc table1 = new TableDesc(store.getTable(DB_NAME, tableName)); + assertEquals(table.getName(), table1.getName()); + assertEquals(table.getPath(), table1.getPath()); + assertEquals(table.getSchema().size(), table1.getSchema().size()); + for (int i = 0; i < table.getSchema().size(); i++) { + assertEquals(table.getSchema().getColumn(i).getSimpleName(), table1.getSchema().getColumn(i).getSimpleName()); + } + + assertEquals(StringEscapeUtils.escapeJava(StorageConstants.DEFAULT_FIELD_DELIMITER), + table1.getMeta().getOption(StorageConstants.TEXT_DELIMITER)); + store.dropTable(DB_NAME, tableName); + } +}
http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java ---------------------------------------------------------------------- diff --git a/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java b/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java index cef4027..0a2a8cc 100644 --- a/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java +++ b/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java @@ -70,12 +70,12 @@ public class TestCatalog { @BeforeClass public static void setUp() throws Exception { - final String HCATALOG_CLASS_NAME = "org.apache.tajo.catalog.store.HCatalogStore"; + final String HIVE_CATALOG_CLASS_NAME = "org.apache.tajo.catalog.store.HiveCatalogStore"; String driverClass = System.getProperty(CatalogConstants.STORE_CLASS); - // here, we don't choose HCatalogStore due to some dependency problems. - if (driverClass == null || driverClass.equals(HCATALOG_CLASS_NAME)) { + // here, we don't choose HiveCatalogStore due to some dependency problems. + if (driverClass == null || driverClass.equals(HIVE_CATALOG_CLASS_NAME)) { driverClass = DerbyStore.class.getCanonicalName(); } String catalogURI = System.getProperty(CatalogConstants.CATALOG_URI); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/pom.xml ---------------------------------------------------------------------- diff --git a/tajo-core/pom.xml b/tajo-core/pom.xml index a9403d5..c9367b2 100644 --- a/tajo-core/pom.xml +++ b/tajo-core/pom.xml @@ -565,218 +565,6 @@ </profile> <profile> - <id>hcatalog-0.12.0</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <dependencies> - <dependency> - <groupId>org.apache.thrift</groupId> - <artifactId>libfb303</artifactId> - <version>0.9.0</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.thrift</groupId> - <artifactId>libthrift</artifactId> - <version>0.9.0</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.tajo</groupId> - <artifactId>tajo-hcatalog</artifactId> - <version>${tajo.version}</version> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>com.google.protobuf</groupId> - <artifactId>protobuf-java</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.hive</groupId> - <artifactId>hive-exec</artifactId> - <version>0.12.0</version> - <scope>provided</scope> - <exclusions> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-common</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-contrib</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-hbase-handler</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-metastore</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-serde</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-shims</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-testutils</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.thrift</groupId> - <artifactId>libfb303</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.thrift</groupId> - <artifactId>libthrift</artifactId> - </exclusion> - <exclusion> - <groupId>com.jolbox</groupId> - <artifactId>bonecp</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase</artifactId> - </exclusion> - <exclusion> - <groupId>com.google.protobuf</groupId> - <artifactId>protobuf-java</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.hive</groupId> - <artifactId>hive-metastore</artifactId> - <version>0.12.0</version> - <scope>provided</scope> - <exclusions> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-common</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-serde</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-shimss</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.thrift</groupId> - <artifactId>libfb303</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.thrift</groupId> - <artifactId>libthrift</artifactId> - </exclusion> - <exclusion> - <groupId>com.jolbox</groupId> - <artifactId>bonecp</artifactId> - </exclusion> - <exclusion> - <groupId>com.google.protobuf</groupId> - <artifactId>protobuf-java</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.hive</groupId> - <artifactId>hive-cli</artifactId> - <version>0.12.0</version> - <scope>provided</scope> - <exclusions> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-common</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-exec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-metastore</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-serde</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-service</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-shims</artifactId> - </exclusion> - <exclusion> - <groupId>com.jolbox</groupId> - <artifactId>bonecp</artifactId> - </exclusion> - <exclusion> - <groupId>com.google.protobuf</groupId> - <artifactId>protobuf-java</artifactId> - </exclusion> - <exclusion> - <groupId>jline</groupId> - <artifactId>jline</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.hive.hcatalog</groupId> - <artifactId>hcatalog-core</artifactId> - <version>0.12.0</version> - <scope>provided</scope> - <exclusions> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-cli</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-common</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-exec</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-metastore</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-serde</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-service</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.hive</groupId> - <artifactId>hive-shims</artifactId> - </exclusion> - <exclusion> - <groupId>com.jolbox</groupId> - <artifactId>bonecp</artifactId> - </exclusion> - <exclusion> - <groupId>com.google.protobuf</groupId> - <artifactId>protobuf-java</artifactId> - </exclusion> - </exclusions> - </dependency> - </dependencies> - </profile> - <profile> <id>parallel-test</id> <activation> <activeByDefault>false</activeByDefault> http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/QueryTestCaseBase.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/QueryTestCaseBase.java b/tajo-core/src/test/java/org/apache/tajo/QueryTestCaseBase.java index 727192a..ede667e 100644 --- a/tajo-core/src/test/java/org/apache/tajo/QueryTestCaseBase.java +++ b/tajo-core/src/test/java/org/apache/tajo/QueryTestCaseBase.java @@ -231,8 +231,8 @@ public class QueryTestCaseBase { public QueryTestCaseBase() { // hive 0.12 does not support quoted identifier. - // So, we use lower case database names when Tajo uses HCatalogStore. - if (testingCluster.isHCatalogStoreRunning()) { + // So, we use lower case database names when Tajo uses HiveCatalogStore. + if (testingCluster.isHiveCatalogStoreRunning()) { this.currentDatabase = getClass().getSimpleName().toLowerCase(); } else { this.currentDatabase = getClass().getSimpleName(); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java b/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java index f7fb2f2..e680736 100644 --- a/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java +++ b/tajo-core/src/test/java/org/apache/tajo/TajoTestingCluster.java @@ -86,9 +86,9 @@ public class TajoTestingCluster { System.getProperty("tajo.test.data.dir", "test-data"); /** - * True If HCatalogStore is used. Otherwise, it is FALSE. + * True If HiveCatalogStore is used. Otherwise, it is FALSE. */ - public Boolean isHCatalogStoreUse = false; + public Boolean isHiveCatalogStoreUse = false; private static final String LOG_LEVEL; @@ -320,8 +320,8 @@ public class TajoTestingCluster { return this.catalogServer; } - public boolean isHCatalogStoreRunning() { - return isHCatalogStoreUse; + public boolean isHiveCatalogStoreRunning() { + return isHiveCatalogStoreUse; } //////////////////////////////////////////////////////// @@ -383,31 +383,31 @@ public class TajoTestingCluster { } private void setupCatalogForTesting(TajoConf c, File testBuildDir) throws IOException { - final String HCATALOG_CLASS_NAME = "org.apache.tajo.catalog.store.HCatalogStore"; - boolean hcatalogClassExists = false; + final String HIVE_CATALOG_CLASS_NAME = "org.apache.tajo.catalog.store.HiveCatalogStore"; + boolean hiveCatalogClassExists = false; try { - getClass().getClassLoader().loadClass(HCATALOG_CLASS_NAME); - hcatalogClassExists = true; + getClass().getClassLoader().loadClass(HIVE_CATALOG_CLASS_NAME); + hiveCatalogClassExists = true; } catch (ClassNotFoundException e) { - LOG.info("HCatalogStore is not available."); + LOG.info("HiveCatalogStore is not available."); } String driverClass = System.getProperty(CatalogConstants.STORE_CLASS); - if (hcatalogClassExists && - driverClass != null && driverClass.equals(HCATALOG_CLASS_NAME)) { + if (hiveCatalogClassExists && + driverClass != null && driverClass.equals(HIVE_CATALOG_CLASS_NAME)) { try { - getClass().getClassLoader().loadClass(HCATALOG_CLASS_NAME); + getClass().getClassLoader().loadClass(HIVE_CATALOG_CLASS_NAME); String jdbcUri = "jdbc:derby:;databaseName="+ testBuildDir.toURI().getPath() + "/metastore_db;create=true"; c.set("hive.metastore.warehouse.dir", TajoConf.getWarehouseDir(c).toString() + "/default"); c.set("javax.jdo.option.ConnectionURL", jdbcUri); c.set(TajoConf.ConfVars.WAREHOUSE_DIR.varname, conf.getVar(ConfVars.WAREHOUSE_DIR)); - c.set(CatalogConstants.STORE_CLASS, HCATALOG_CLASS_NAME); + c.set(CatalogConstants.STORE_CLASS, HIVE_CATALOG_CLASS_NAME); Path defaultDatabasePath = new Path(TajoConf.getWarehouseDir(c).toString() + "/default"); FileSystem fs = defaultDatabasePath.getFileSystem(c); if (!fs.exists(defaultDatabasePath)) { fs.mkdirs(defaultDatabasePath); } - isHCatalogStoreUse = true; + isHiveCatalogStoreUse = true; } catch (ClassNotFoundException cnfe) { throw new IOException(cnfe); } http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestTajoDump.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestTajoDump.java b/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestTajoDump.java index 5819bd2..b371be2 100644 --- a/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestTajoDump.java +++ b/tajo-core/src/test/java/org/apache/tajo/cli/tools/TestTajoDump.java @@ -29,7 +29,7 @@ public class TestTajoDump extends QueryTestCaseBase { @Test public void testDump1() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { executeString("CREATE TABLE \"" + getCurrentDatabase() + "\".\"TableName1\" (\"Age\" int, \"FirstName\" TEXT, lastname TEXT)"); @@ -48,7 +48,7 @@ public class TestTajoDump extends QueryTestCaseBase { @Test public void testDump2() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { executeString("CREATE TABLE \"" + getCurrentDatabase() + "\".\"TableName2\" (\"Age\" int, \"Name\" Record (\"FirstName\" TEXT, lastname TEXT))"); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java b/tajo-core/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java index aee5a02..fdf9ca4 100644 --- a/tajo-core/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java +++ b/tajo-core/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java @@ -100,7 +100,7 @@ public class TestTajoCli { } private void assertOutputResult(String expectedResultFile, String actual, String[] paramKeys, String[] paramValues) - throws Exception { + throws Exception { FileSystem fs = currentResultPath.getFileSystem(testBase.getTestingCluster().getConfiguration()); Path resultFile = StorageUtil.concatPath(currentResultPath, expectedResultFile); assertTrue(resultFile.toString() + " existence check", fs.exists(resultFile)); @@ -140,7 +140,7 @@ public class TestTajoCli { @Test public void testParseConf() throws Exception { String[] args = new String[]{"--conf", "tajo.cli.print.pause=false", - "--conf", "tajo.executor.join.inner.in-memory-table-num=256"}; + "--conf", "tajo.executor.join.inner.in-memory-table-num=256"}; CommandLineParser parser = new PosixParser(); CommandLine cmd = parser.parse(TajoCli.options, args); @@ -186,7 +186,7 @@ public class TestTajoCli { public void testConnectDatabase() throws Exception { String databaseName; - if (cluster.isHCatalogStoreRunning()) { + if (cluster.isHiveCatalogStoreRunning()) { databaseName = "TEST_CONNECTION_DATABASE".toLowerCase(); } else { databaseName = "TEST_CONNECTION_DATABASE"; @@ -215,16 +215,16 @@ public class TestTajoCli { String consoleResult = new String(out.toByteArray()); FileSystem fs = FileSystem.get(testBase.getTestingCluster().getConfiguration()); - if (!cluster.isHCatalogStoreRunning()) { + if (!cluster.isHiveCatalogStoreRunning()) { assertOutputResult(resultFileName, consoleResult, new String[]{"${table.path}"}, - new String[]{fs.getUri() + "/tajo/warehouse/default/" + tableName}); + new String[]{fs.getUri() + "/tajo/warehouse/default/" + tableName}); } } @Test public void testDescTable() throws Exception { String tableName; - if (cluster.isHCatalogStoreRunning()) { + if (cluster.isHiveCatalogStoreRunning()) { tableName = "TEST_DESC_TABLE".toLowerCase(); } else { tableName = "TEST_DESC_TABLE"; @@ -237,7 +237,7 @@ public class TestTajoCli { @Test public void testDescTableForNestedSchema() throws Exception { String tableName; - if (cluster.isHCatalogStoreRunning()) { + if (cluster.isHiveCatalogStoreRunning()) { tableName = "TEST_DESC_TABLE_NESTED".toLowerCase(); } else { tableName = "TEST_DESC_TABLE_NESTED"; @@ -250,15 +250,15 @@ public class TestTajoCli { @Test public void testSelectResultWithNullFalse() throws Exception { String sql = - "select\n" + - " c_custkey,\n" + - " orders.o_orderkey,\n" + - " orders.o_orderstatus \n" + - "from\n" + - " orders full outer join customer on c_custkey = o_orderkey\n" + - "order by\n" + - " c_custkey,\n" + - " orders.o_orderkey;\n"; + "select\n" + + " c_custkey,\n" + + " orders.o_orderkey,\n" + + " orders.o_orderstatus \n" + + "from\n" + + " orders full outer join customer on c_custkey = o_orderkey\n" + + "order by\n" + + " c_custkey,\n" + + " orders.o_orderkey;\n"; setVar(tajoCli, SessionVars.CLI_FORMATTER_CLASS, TajoCliOutputTestFormatter.class.getName()); tajoCli.executeScript(sql); @@ -269,15 +269,15 @@ public class TestTajoCli { private void verifySelectResultWithNullTrue() throws Exception { String sql = - "select\n" + - " c_custkey,\n" + - " orders.o_orderkey,\n" + - " orders.o_orderstatus \n" + - "from\n" + - " orders full outer join customer on c_custkey = o_orderkey\n" + - "order by\n" + - " c_custkey,\n" + - " orders.o_orderkey;\n"; + "select\n" + + " c_custkey,\n" + + " orders.o_orderkey,\n" + + " orders.o_orderstatus \n" + + "from\n" + + " orders full outer join customer on c_custkey = o_orderkey\n" + + "order by\n" + + " c_custkey,\n" + + " orders.o_orderkey;\n"; setVar(tajoCli, SessionVars.CLI_FORMATTER_CLASS, TajoCliOutputTestFormatter.class.getName()); @@ -307,8 +307,8 @@ public class TestTajoCli { assertSessionVar(tajoCli, SessionVars.ON_ERROR_STOP.keyname(), "true"); tajoCli.executeScript("select count(*) from lineitem; " + - "select count(*) from lineitem2; " + - "select count(*) from orders"); + "select count(*) from lineitem2; " + + "select count(*) from orders"); String consoleResult = new String(out.toByteArray()); assertOutputResult(consoleResult); @@ -391,7 +391,7 @@ public class TestTajoCli { } @Test - public void testAlterTableAddPartition() throws Exception { + public void testAlterTableAddPartition() throws Exception { String tableName = CatalogUtil.normalizeIdentifier("testAlterTableAddPartition"); tajoCli.executeScript("create table " + tableName + " (col1 int4, col2 int4) partition by column(key float8)"); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/engine/query/TestAlterTablespace.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestAlterTablespace.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestAlterTablespace.java index 47e98a9..b0ec92d 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestAlterTablespace.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestAlterTablespace.java @@ -31,7 +31,7 @@ public class TestAlterTablespace extends QueryTestCaseBase { @Test public final void testAlterLocation() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { ////////////////////////////////////////////////////////////////////////////// // Create two table spaces ////////////////////////////////////////////////////////////////////////////// http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java index 18c9fbc..f79f703 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java @@ -78,7 +78,7 @@ public class TestCTASQuery extends QueryTestCaseBase { assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0"))); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -121,7 +121,7 @@ public class TestCTASQuery extends QueryTestCaseBase { assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0"))); - if (!cluster.isHCatalogStoreRunning()) { + if (!cluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -261,7 +261,7 @@ public class TestCTASQuery extends QueryTestCaseBase { ResultSet res = executeFile("CtasWithManagedTable.sql"); res.close(); - if (testingCluster.isHCatalogStoreRunning()) { + if (testingCluster.isHiveCatalogStoreRunning()) { assertTrue(client.existTable("managed_table1")); TableDesc desc = client.getTableDesc("managed_table1"); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java index 1fbe7c5..f1a3ddc 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java @@ -41,8 +41,8 @@ public class TestCreateTable extends QueryTestCaseBase { @Test public final void testVariousTypes() throws Exception { List<String> createdNames; - if (testingCluster.isHCatalogStoreRunning()) { - createdNames = executeDDL("create_table_various_types_for_hcatalog.sql", null); + if (testingCluster.isHiveCatalogStoreRunning()) { + createdNames = executeDDL("create_table_various_types_for_hive_catalog.sql", null); } else { createdNames = executeDDL("create_table_various_types.sql", null); } @@ -135,7 +135,7 @@ public class TestCreateTable extends QueryTestCaseBase { @Test public final void testCreatedTableWithQuotedIdentifierAndVerifyPath() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertPathOfCreatedTable("D6", "OldTable", "NewMgmtTable", "CREATE TABLE \"D6\".\"OldTable\" (age integer);"); } } @@ -174,7 +174,7 @@ public class TestCreateTable extends QueryTestCaseBase { @Test public final void testDelimitedIdentifierWithNonAsciiCharacters() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { ResultSet res = null; try { List<String> tableNames = executeDDL("quoted_identifier_non_ascii_ddl.sql", "table1", "\"í ì´ë¸1\""); @@ -207,7 +207,7 @@ public class TestCreateTable extends QueryTestCaseBase { @Test public final void testDelimitedIdentifierWithMixedCharacters() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { ResultSet res = null; try { @@ -442,8 +442,8 @@ public class TestCreateTable extends QueryTestCaseBase { @Test public final void testCreateTableLike1() throws Exception { - // Hcatalog does not support varchar type in hive-0.12.0 - if (testingCluster.isHCatalogStoreRunning()) { + // //HiveCatalogStore does not support varchar type in hive-0.12.0 + if (testingCluster.isHiveCatalogStoreRunning()) { // Basic create table with default database executeString("CREATE TABLE table1 (c1 int, c2 text);").close(); executeString("CREATE TABLE table2 LIKE table1"); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java index 0799d22..4a1f601 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java @@ -56,7 +56,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "table1"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -76,7 +76,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "table1"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -311,7 +311,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res = executeFile("testInsertOverwriteSmallerColumns.sql"); res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "table1"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } assertEquals(originalDesc.getSchema(), desc.getSchema()); @@ -331,7 +331,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res = executeFile("testInsertOverwriteWithTargetColumns.sql"); res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "table1"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -385,7 +385,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res = executeString("insert overwrite into full_table_csv select * from default.lineitem where l_orderkey = 3"); res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "full_table_csv"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(2, desc.getStats().getNumRows().intValue()); } executeString("DROP TABLE full_table_csv PURGE"); @@ -402,7 +402,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res = executeFile("load_to_lineitem_year_month.sql"); res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "lineitem_year_month"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -424,7 +424,7 @@ public class TestInsertQuery extends QueryTestCaseBase { CatalogService catalog = testingCluster.getMaster().getCatalog(); assertTrue(catalog.existsTable(getCurrentDatabase(), tableName)); TableDesc orderKeys = catalog.getTableDesc(getCurrentDatabase(), tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, orderKeys.getStats().getNumRows().intValue()); } @@ -435,7 +435,7 @@ public class TestInsertQuery extends QueryTestCaseBase { assertTrue(catalog.existsTable(getCurrentDatabase(), tableName)); orderKeys = catalog.getTableDesc(getCurrentDatabase(), tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(2, orderKeys.getStats().getNumRows().intValue()); } executeString("DROP TABLE " + tableName + " PURGE"); @@ -453,7 +453,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res = executeString("insert overwrite into " + tableName + " select * from default.lineitem where l_orderkey = 3"); res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(2, desc.getStats().getNumRows().intValue()); } executeString("DROP TABLE " + tableName + " PURGE"); @@ -480,7 +480,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res = executeQuery(); res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(2, desc.getStats().getNumRows().intValue()); } @@ -497,7 +497,7 @@ public class TestInsertQuery extends QueryTestCaseBase { @Test public final void testInsertOverwriteLocationWithCompression() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { ResultSet res = executeQuery(); res.close(); FileSystem fs = FileSystem.get(testingCluster.getConfiguration()); @@ -515,7 +515,7 @@ public class TestInsertQuery extends QueryTestCaseBase { @Test public final void testInsertOverwriteWithAsteriskUsingParquet() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { ResultSet res = executeFile("full_table_parquet_ddl.sql"); res.close(); @@ -526,7 +526,7 @@ public class TestInsertQuery extends QueryTestCaseBase { "insert overwrite into full_table_parquet select * from default.lineitem where l_orderkey = 3"); res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "full_table_parquet"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(2, desc.getStats().getNumRows().intValue()); } @@ -542,7 +542,7 @@ public class TestInsertQuery extends QueryTestCaseBase { @Test public final void testInsertOverwriteIntoParquet() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { executeString("create table parquet_table " + "(l_orderkey int4, l_shipdate text, l_shipdate_function text) using parquet").close(); @@ -554,7 +554,7 @@ public class TestInsertQuery extends QueryTestCaseBase { "select l_orderkey, l_shipdate, substr(l_shipdate, 1, 10) from default.lineitem").close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "parquet_table"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -577,7 +577,7 @@ public class TestInsertQuery extends QueryTestCaseBase { @Test public final void testInsertOverwriteIntoPartitionedParquet() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { executeString("create table parquet_table " + "(l_orderkey int4, l_shipdate_function text) using parquet partition by column (l_shipdate text)").close(); @@ -589,7 +589,7 @@ public class TestInsertQuery extends QueryTestCaseBase { "select l_orderkey, substr(l_shipdate, 1, 10), l_shipdate from default.lineitem").close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "parquet_table"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -622,7 +622,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), "table1"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } executeString("DROP TABLE table1 PURGE"); @@ -642,7 +642,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(1, desc.getStats().getNumRows().intValue()); } @@ -669,7 +669,7 @@ public class TestInsertQuery extends QueryTestCaseBase { res.close(); TableDesc desc = catalog.getTableDesc(getCurrentDatabase(), tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(1, desc.getStats().getNumRows().intValue()); } http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java index 182bf5b..bd8f830 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java @@ -28,7 +28,7 @@ public class TestNetTypes extends QueryTestCaseBase { @Before public final void setUp() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { executeDDL("table1_ddl.sql", "table1"); executeDDL("table2_ddl.sql", "table2"); } @@ -36,8 +36,8 @@ public class TestNetTypes extends QueryTestCaseBase { @Test public final void testSelect() throws Exception { - // Skip all tests when HCatalogStore is used. - if (!testingCluster.isHCatalogStoreRunning()) { + // Skip all tests when HiveCatalogStore is used. + if (!testingCluster.isHiveCatalogStoreRunning()) { // select name, addr from table1; ResultSet res = executeQuery(); assertResultSet(res); @@ -47,8 +47,8 @@ public class TestNetTypes extends QueryTestCaseBase { @Test public final void testGroupby() throws Exception { - // Skip all tests when HCatalogStore is used. - if (!testingCluster.isHCatalogStoreRunning()) { + // Skip all tests when HiveCatalogStore is used. + if (!testingCluster.isHiveCatalogStoreRunning()) { // select name, addr, count(1) from table1 group by name, addr; ResultSet res = executeQuery(); assertResultSet(res); @@ -58,8 +58,8 @@ public class TestNetTypes extends QueryTestCaseBase { @Test public final void testGroupby2() throws Exception { - // Skip all tests when HCatalogStore is used. - if (!testingCluster.isHCatalogStoreRunning()) { + // Skip all tests when HiveCatalogStore is used. + if (!testingCluster.isHiveCatalogStoreRunning()) { // select addr, count(*) from table1 group by addr; ResultSet res = executeQuery(); assertResultSet(res); @@ -69,8 +69,8 @@ public class TestNetTypes extends QueryTestCaseBase { @Test public final void testSort() throws Exception { - // Skip all tests when HCatalogStore is used. - if (!testingCluster.isHCatalogStoreRunning()) { + // Skip all tests when HiveCatalogStore is used. + if (!testingCluster.isHiveCatalogStoreRunning()) { // select * from table1 order by addr; ResultSet res = executeQuery(); assertResultSet(res); @@ -80,8 +80,8 @@ public class TestNetTypes extends QueryTestCaseBase { @Test public final void testSort2() throws Exception { - // Skip all tests when HCatalogStore is used. - if (!testingCluster.isHCatalogStoreRunning()) { + // Skip all tests when HiveCatalogStore is used. + if (!testingCluster.isHiveCatalogStoreRunning()) { // select addr from table2 order by addr; ResultSet res = executeQuery(); assertResultSet(res); @@ -91,8 +91,8 @@ public class TestNetTypes extends QueryTestCaseBase { @Test public final void testJoin() throws Exception { - // Skip all tests when HCatalogStore is used. - if (!testingCluster.isHCatalogStoreRunning()) { + // Skip all tests when HiveCatalogStore is used. + if (!testingCluster.isHiveCatalogStoreRunning()) { // select * from table1 as t1, table2 as t2 where t1.addr = t2.addr; ResultSet res = executeQuery(); assertResultSet(res); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java index 48a3343..513868b 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java @@ -377,7 +377,7 @@ public class TestSelectQuery extends QueryTestCaseBase { CatalogService catalog = cluster.getMaster().getCatalog(); assertTrue(catalog.existsTable(DEFAULT_DATABASE_NAME, "orderkeys")); TableDesc orderKeys = catalog.getTableDesc(DEFAULT_DATABASE_NAME, "orderkeys"); - if (!cluster.isHCatalogStoreRunning()) { + if (!cluster.isHiveCatalogStoreRunning()) { assertEquals(5, orderKeys.getStats().getNumRows().intValue()); } } @@ -399,7 +399,7 @@ public class TestSelectQuery extends QueryTestCaseBase { @Test public final void testDatabaseRef() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { executeString("CREATE DATABASE \"TestSelectQuery\"").close(); executeString("CREATE TABLE \"TestSelectQuery\".\"LineItem\" AS SELECT * FROM default.lineitem" ).close(); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java index ff91177..1aee961 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java @@ -159,10 +159,10 @@ public class TestSortQuery extends QueryTestCaseBase { @Test public final void testSortWithDate() throws Exception { - // skip this test if catalog uses HCatalogStore. - // It is because HCatalogStore does not support Time data type. + // skip this test if catalog uses HiveCatalogStore. + // It is because HiveCatalogStore does not support Time data type. - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { // create external table table1 (col1 timestamp, col2 date, col3 time) ... executeDDL("create_table_with_date_ddl.sql", "table1"); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java index b48720a..bb15bfc 100644 --- a/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java +++ b/tajo-core/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java @@ -209,7 +209,7 @@ public class TestTablePartitions extends QueryTestCaseBase { assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=38.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=45.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/key=49.0"))); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } } @@ -324,7 +324,7 @@ public class TestTablePartitions extends QueryTestCaseBase { assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0"))); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -388,7 +388,7 @@ public class TestTablePartitions extends QueryTestCaseBase { assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0"))); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -441,7 +441,7 @@ public class TestTablePartitions extends QueryTestCaseBase { assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0"))); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } String expected = "N\n" + @@ -503,7 +503,7 @@ public class TestTablePartitions extends QueryTestCaseBase { assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=2/col3=45.0"))); assertTrue(fs.isDirectory(new Path(path.toUri() + "/col1=3/col2=3/col3=49.0"))); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { // TODO: If there is existing another partition directory, we must add its rows number to result row numbers. // assertEquals(6, desc.getStats().getNumRows().intValue()); } @@ -550,7 +550,7 @@ public class TestTablePartitions extends QueryTestCaseBase { "insert overwrite into " + tableName + " select l_partkey, l_quantity, l_orderkey from lineitem"); res.close(); TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -587,7 +587,7 @@ public class TestTablePartitions extends QueryTestCaseBase { " select l_quantity, l_returnflag, l_orderkey, l_partkey from lineitem"); res.close(); TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -632,7 +632,7 @@ public class TestTablePartitions extends QueryTestCaseBase { " select l_returnflag, l_orderkey, l_partkey, l_quantity from lineitem"); res.close(); TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -715,7 +715,7 @@ public class TestTablePartitions extends QueryTestCaseBase { " select l_returnflag , l_orderkey, l_partkey, l_quantity from lineitem"); res.close(); TableDesc desc = catalog.getTableDesc(DEFAULT_DATABASE_NAME, tableName); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -820,7 +820,7 @@ public class TestTablePartitions extends QueryTestCaseBase { res.close(); TableDesc desc = catalog.getTableDesc("testinsertquery1", "table1"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } @@ -829,7 +829,7 @@ public class TestTablePartitions extends QueryTestCaseBase { res.close(); desc = catalog.getTableDesc("testinsertquery2", "table1"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(5, desc.getStats().getNumRows().intValue()); } } http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java b/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java index 524c6e8..98e5ff9 100644 --- a/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java +++ b/tajo-core/src/test/java/org/apache/tajo/jdbc/TestResultSet.java @@ -139,8 +139,8 @@ public class TestResultSet { @Test public void testDateTimeType() throws Exception { - // Hcatalog does not support date type, time type in hive-0.12.0 - if(util.isHCatalogStoreRunning()) return; + // HiveCatalog does not support date type, time type in hive-0.12.0 + if(util.isHiveCatalogStoreRunning()) return; ResultSet res = null; TajoClient client = util.newTajoClient(); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java b/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java index dfb0269..8ee6755 100644 --- a/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java +++ b/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoDatabaseMetaData.java @@ -62,7 +62,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { assertDatabaseExists("jdbc_test1"); pstmt.close(); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertDatabaseNotExists("Jdbc_Test2"); pstmt = conn.prepareStatement("CREATE DATABASE \"Jdbc_Test2\""); pstmt.executeUpdate(); @@ -72,7 +72,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { conn.setCatalog("jdbc_test1"); assertEquals("jdbc_test1", conn.getCatalog()); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { conn.setCatalog("Jdbc_Test2"); assertEquals("Jdbc_Test2", conn.getCatalog()); } @@ -95,7 +95,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { pstmt = conn.prepareStatement("DROP DATABASE jdbc_test1"); pstmt.executeUpdate(); pstmt.close(); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { pstmt = conn.prepareStatement("DROP DATABASE \"Jdbc_Test2\""); pstmt.executeUpdate(); pstmt.close(); @@ -126,7 +126,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { pstmt.executeUpdate(); pstmt.close(); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { // create database "jdbc_test2" and its tables assertDatabaseNotExists("Jdbc_Test4"); pstmt = defaultConnect.prepareStatement("CREATE DATABASE \"Jdbc_Test4\""); @@ -147,13 +147,13 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { List<String> newDatabases = getListFromResultSet(dbmd.getCatalogs(), "TABLE_CAT"); newDatabases.removeAll(existingDatabases); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertEquals(2, newDatabases.size()); } else { assertEquals(1, newDatabases.size()); } assertTrue(newDatabases.contains("jdbc_test3")); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { assertTrue(newDatabases.contains("Jdbc_Test4")); } @@ -162,7 +162,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { assertResultSet(res, "getTables1.result"); res.close(); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { res = defaultConnect.getMetaData().getTables("Jdbc_Test4", null, null, null); assertResultSet(res, "getTables2.result"); res.close(); @@ -182,7 +182,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { executeString("DROP TABLE jdbc_test3.table2"); executeString("DROP DATABASE jdbc_test3"); - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { String jdbcTest2ConnUri = TestTajoJdbc.buildConnectionUri(tajoMasterAddress.getHostName(), tajoMasterAddress.getPort(), "Jdbc_Test4"); Connection jdbcTest2Conn = DriverManager.getConnection(jdbcTest2ConnUri); @@ -268,7 +268,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { @Test public void testGetColumnsWithPattern() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { String connUri = TestTajoJdbc.buildConnectionUri(tajoMasterAddress.getHostName(), tajoMasterAddress.getPort(), TajoConstants.DEFAULT_DATABASE_NAME); Connection conn = DriverManager.getConnection(connUri); @@ -397,7 +397,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { @Test public void testEmptyMetaInfo() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { String connUri = TestTajoJdbc.buildConnectionUri(tajoMasterAddress.getHostName(), tajoMasterAddress.getPort(), TajoConstants.DEFAULT_DATABASE_NAME); Connection conn = DriverManager.getConnection(connUri); @@ -464,7 +464,7 @@ public class TestTajoDatabaseMetaData extends QueryTestCaseBase { @Test public void testGetTypeInfo() throws Exception { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { String connUri = TestTajoJdbc.buildConnectionUri(tajoMasterAddress.getHostName(), tajoMasterAddress.getPort(), TajoConstants.DEFAULT_DATABASE_NAME); Connection conn = DriverManager.getConnection(connUri); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java b/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java index 36bbd94..0dbb8e5 100644 --- a/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java +++ b/tajo-core/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java @@ -553,10 +553,10 @@ public class TestTajoJdbc extends QueryTestCaseBase { Connection conn = null; int result; - // skip this test if catalog uses HCatalogStore. - // It is because HCatalogStore does not support Time data type. + // skip this test if catalog uses HiveCatalogStore. + // It is because HiveCatalogStore does not support Time data type. try { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { executeDDL("create_table_with_date_ddl.sql", "table1"); String connUri = buildConnectionUri(tajoMasterAddress.getHostName(), @@ -604,10 +604,10 @@ public class TestTajoJdbc extends QueryTestCaseBase { int result; String errorMessage = null; - // skip this test if catalog uses HCatalogStore. - // It is because HCatalogStore does not support Time data type. + // skip this test if catalog uses HiveCatalogStore. + // It is because HiveCatalogStore does not support Time data type. try { - if (!testingCluster.isHCatalogStoreRunning()) { + if (!testingCluster.isHiveCatalogStoreRunning()) { String connUri = buildConnectionUri(tajoMasterAddress.getHostName(), tajoMasterAddress.getPort(), DEFAULT_DATABASE_NAME); conn = DriverManager.getConnection(connUri); http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql b/tajo-core/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql deleted file mode 100644 index 3eda994..0000000 --- a/tajo-core/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql +++ /dev/null @@ -1,50 +0,0 @@ --- Some types were commented out due to Hive meta test. - -create table various_types ( --- col0 bit, --- col1 BIT(10), --- col2 bit varying, --- col3 bit VARYING(10), - col4 tinyint, - col5 smallInt, - col6 integer, - col7 biginT, - col8 real, - col9 float, - col10 float(53), - col11 double, - col12 doublE precision, --- col13 numeric, --- col14 numeric(10), --- col15 numeric(10,2), --- col16 decimal, --- col17 decimal(10), --- col18 decimal(10,2), --- col19 char, --- col20 character, --- col21 chaR(10), --- col22 character(10), --- col23 varchar, --- col24 character varying, --- col25 varchar(255), --- col26 character varying (255), --- col27 nchar, --- col28 nchar(255), --- col29 national character, --- col30 national character(255), --- col31 nvarchar, --- col32 nvarchar(255), --- col33 natIonal character varying, --- col34 national character varying (255), --- col35 date, --- col36 time, --- col37 timetz, --- col38 time With time zone, --- col39 timesTamptz, --- col40 timestamp with time zone, - col41 binary, --- col42 binary(10), --- col43 varbinary(10), --- col44 binary Varying(10), - col45 blOb -); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-core/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hive_catalog.sql ---------------------------------------------------------------------- diff --git a/tajo-core/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hive_catalog.sql b/tajo-core/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hive_catalog.sql new file mode 100644 index 0000000..3eda994 --- /dev/null +++ b/tajo-core/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hive_catalog.sql @@ -0,0 +1,50 @@ +-- Some types were commented out due to Hive meta test. + +create table various_types ( +-- col0 bit, +-- col1 BIT(10), +-- col2 bit varying, +-- col3 bit VARYING(10), + col4 tinyint, + col5 smallInt, + col6 integer, + col7 biginT, + col8 real, + col9 float, + col10 float(53), + col11 double, + col12 doublE precision, +-- col13 numeric, +-- col14 numeric(10), +-- col15 numeric(10,2), +-- col16 decimal, +-- col17 decimal(10), +-- col18 decimal(10,2), +-- col19 char, +-- col20 character, +-- col21 chaR(10), +-- col22 character(10), +-- col23 varchar, +-- col24 character varying, +-- col25 varchar(255), +-- col26 character varying (255), +-- col27 nchar, +-- col28 nchar(255), +-- col29 national character, +-- col30 national character(255), +-- col31 nvarchar, +-- col32 nvarchar(255), +-- col33 natIonal character varying, +-- col34 national character varying (255), +-- col35 date, +-- col36 time, +-- col37 timetz, +-- col38 time With time zone, +-- col39 timesTamptz, +-- col40 timestamp with time zone, + col41 binary, +-- col42 binary(10), +-- col43 varbinary(10), +-- col44 binary Varying(10), + col45 blOb +); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-dist/pom.xml ---------------------------------------------------------------------- diff --git a/tajo-dist/pom.xml b/tajo-dist/pom.xml index da5f48f..0cc61aa 100644 --- a/tajo-dist/pom.xml +++ b/tajo-dist/pom.xml @@ -151,9 +151,9 @@ run mkdir -p share/jdbc-dist run cp -r $ROOT/tajo-jdbc/target/tajo-jdbc-${project.version}-jar-with-dependencies.jar ./share/jdbc-dist/tajo-jdbc-${project.version}.jar - if [ -f $ROOT/tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/target/lib/parquet-hive-bundle-*.jar ] + if [ -f $ROOT/tajo-catalog/tajo-catalog-drivers/tajo-hive/target/lib/parquet-hive-bundle-*.jar ] then - run cp -r $ROOT/tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/target/lib/parquet-hive-bundle-*.jar lib/ + run cp -r $ROOT/tajo-catalog/tajo-catalog-drivers/tajo-hive/target/lib/parquet-hive-bundle-*.jar lib/ echo echo "Tajo installed parquet-hive-bundle library at: ${project.build.directory}/tajo-${project.version}" echo http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-dist/src/main/bin/tajo ---------------------------------------------------------------------- diff --git a/tajo-dist/src/main/bin/tajo b/tajo-dist/src/main/bin/tajo index a92d1a9..4383f3c 100755 --- a/tajo-dist/src/main/bin/tajo +++ b/tajo-dist/src/main/bin/tajo @@ -295,9 +295,6 @@ if [ -d ${HIVE_LIB} ]; then CLASSPATH=${CLASSPATH}:$f; done - for f in $HIVE_HOME/hcatalog/share/hcatalog/*hcatalog-core-*.jar; do - CLASSPATH=${CLASSPATH}:$f; - done fi if [ "${HIVE_JDBC_DRIVER_DIR}" != "" ]; then http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-dist/src/main/conf/catalog-site.xml.template ---------------------------------------------------------------------- diff --git a/tajo-dist/src/main/conf/catalog-site.xml.template b/tajo-dist/src/main/conf/catalog-site.xml.template index dddcc89..365de6b 100644 --- a/tajo-dist/src/main/conf/catalog-site.xml.template +++ b/tajo-dist/src/main/conf/catalog-site.xml.template @@ -86,12 +86,12 @@ --> -<!-- HCatalog Store Driver --> -<!-- Please remove comment if you want to use HCatalog. --> +<!-- HiveCatalog Store Driver --> +<!-- Please remove comment if you want to use HiveCatalog. --> <!-- <property> <name>tajo.catalog.store.class</name> - <value>org.apache.tajo.catalog.store.HCatalogStore</value> + <value>org.apache.tajo.catalog.store.HiveCatalogStore</value> </property> --> http://git-wip-us.apache.org/repos/asf/tajo/blob/955a7bf8/tajo-dist/src/main/conf/tajo-env.sh ---------------------------------------------------------------------- diff --git a/tajo-dist/src/main/conf/tajo-env.sh b/tajo-dist/src/main/conf/tajo-env.sh index d52a827..bb8465f 100755 --- a/tajo-dist/src/main/conf/tajo-env.sh +++ b/tajo-dist/src/main/conf/tajo-env.sh @@ -72,7 +72,7 @@ # The scheduling priority for daemon processes. See 'man nice'. # export TAJO_NICENESS=10 -# It must be required to use HCatalogStore +# It must be required to use HiveCatalogStore # export HIVE_HOME= # export HIVE_JDBC_DRIVER_DIR=
