Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 58BA1200AE3 for ; Wed, 4 May 2016 10:59:45 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 55B8C1601A3; Wed, 4 May 2016 08:59:45 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 778C11601A2 for ; Wed, 4 May 2016 10:59:44 +0200 (CEST) Received: (qmail 85820 invoked by uid 500); 4 May 2016 08:54:21 -0000 Mailing-List: contact dev-help@impala.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@impala.incubator.apache.org Delivered-To: mailing list dev@impala.incubator.apache.org Received: (qmail 84062 invoked by uid 99); 4 May 2016 08:51:39 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 May 2016 08:51:39 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 8D6331A51DF for ; Wed, 4 May 2016 08:45:15 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.362 X-Spam-Level: X-Spam-Status: No, score=0.362 tagged_above=-999 required=6.31 tests=[RDNS_DYNAMIC=0.363, SPF_PASS=-0.001] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id zoZGTdE2NMca for ; Wed, 4 May 2016 08:45:13 +0000 (UTC) Received: from ip-10-146-233-104.ec2.internal (ec2-75-101-130-251.compute-1.amazonaws.com [75.101.130.251]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id 501525F36D for ; Wed, 4 May 2016 08:45:13 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by ip-10-146-233-104.ec2.internal (8.14.4/8.14.4) with ESMTP id u448jC36026188; Wed, 4 May 2016 08:45:12 GMT Message-Id: <201605040845.u448jC36026188@ip-10-146-233-104.ec2.internal> Date: Wed, 4 May 2016 08:44:56 +0000 From: "Casey Ching (Code Review)" To: impala-cr@cloudera.com, dev@impala.incubator.apache.org CC: Marcel Kornacker , Matthew Jacobs , Dimitris Tsirogiannis Reply-To: casey@cloudera.com X-Gerrit-MessageType: newpatchset Subject: =?UTF-8?Q?[Impala-CR](cdh5-trunk)_Simplify_creating_external_Kudu_tables_and_add_DROP_DATABASE_CASCADE=0A?= X-Gerrit-Change-Id: Ic141102818b6dad3016181b179a14024d0ff709d X-Gerrit-ChangeURL: X-Gerrit-Commit: dac5806dad49c92b8e479e305f42f3aac55abf90 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Disposition: inline User-Agent: Gerrit/2.10-rc0 archived-at: Wed, 04 May 2016 08:59:45 -0000 Casey Ching has uploaded a new patch set (#15). Change subject: Simplify creating external Kudu tables and add DROP DATABASE CASCADE ...................................................................... Simplify creating external Kudu tables and add DROP DATABASE CASCADE Creating an external Kudu table was a lot harder than it needed to be because the columns needed to be specified twice, once in Kudu and once again in Impala. Also table properties needed to be specified and that is more tedious than it needs to be. Changes: 1) Read table schema from Kudu. When attempting to create an external table "foo" in database "bar", Impala will search for a Kudu table name "foo.bar" and "bar" (Kudu doesn't have database name spaces yet.) 2) The Kudu table is now required to exist at the time of creation in Impala. 3) Disallow table properties that could conflict with an existing table. Ex: key_columns cannot be specified. 4) Add KUDU as a file format. 5) Add a startup flag to catalogd to specify the default Kudu master addresses. The flag is used as the default value for the table property kudu_master_addresses. 6) Fix a post merge issue (IMPALA-3178) where DROP DATABASE CASCADE wasn't implemented for Kudu tables and silent ignored. The Kudu tables wouldn't be removed in Kudu. Now an external Kudu table can be created with "CREATE EXTERNAL TABLE t STORED AS KUDU" assuming table "t" exists in Kudu. Users can still override table properties such as the Kudu table name or master addresses in the usual way. Change-Id: Ic141102818b6dad3016181b179a14024d0ff709d --- M be/src/catalog/catalog.cc M bin/start-catalogd.sh M bin/start-impala-cluster.py M common/thrift/CatalogObjects.thrift M fe/src/main/cup/sql-parser.cup A fe/src/main/java/com/cloudera/impala/analysis/AnalysisUtil.java M fe/src/main/java/com/cloudera/impala/analysis/ColumnDef.java M fe/src/main/java/com/cloudera/impala/analysis/CreateTableAsSelectStmt.java M fe/src/main/java/com/cloudera/impala/analysis/CreateTableDataSrcStmt.java M fe/src/main/java/com/cloudera/impala/analysis/CreateTableStmt.java M fe/src/main/java/com/cloudera/impala/analysis/ToSqlUtils.java M fe/src/main/java/com/cloudera/impala/catalog/CatalogServiceCatalog.java M fe/src/main/java/com/cloudera/impala/catalog/Db.java M fe/src/main/java/com/cloudera/impala/catalog/HdfsFileFormat.java M fe/src/main/java/com/cloudera/impala/catalog/delegates/DdlDelegate.java M fe/src/main/java/com/cloudera/impala/catalog/delegates/KuduDdlDelegate.java M fe/src/main/java/com/cloudera/impala/service/CatalogOpExecutor.java M fe/src/main/java/com/cloudera/impala/service/JniCatalog.java A fe/src/main/java/com/cloudera/impala/util/KuduClient.java M fe/src/main/java/com/cloudera/impala/util/KuduUtil.java M fe/src/main/jflex/sql-scanner.flex M fe/src/test/java/com/cloudera/impala/analysis/AnalyzeDDLTest.java M fe/src/test/java/com/cloudera/impala/analysis/AnalyzerTest.java M fe/src/test/java/com/cloudera/impala/analysis/ParserTest.java M fe/src/test/java/com/cloudera/impala/testutil/CatalogServiceTestCatalog.java M testdata/bin/generate-schema-statements.py M testdata/datasets/functional/functional_schema_template.sql M testdata/workloads/functional-query/queries/QueryTest/create_kudu.test M testdata/workloads/functional-query/queries/QueryTest/kudu-scan-node.test M testdata/workloads/functional-query/queries/QueryTest/kudu-show-create.test M testdata/workloads/functional-query/queries/QueryTest/kudu_alter.test M testdata/workloads/functional-query/queries/QueryTest/kudu_crud.test M testdata/workloads/functional-query/queries/QueryTest/kudu_partition_ddl.test M testdata/workloads/functional-query/queries/QueryTest/kudu_stats.test M tests/common/__init__.py A tests/common/kudu_test_suite.py A tests/custom_cluster/test_kudu.py M tests/query_test/test_kudu.py 38 files changed, 1,272 insertions(+), 505 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/17/2617/15 -- To view, visit http://gerrit.cloudera.org:8080/2617 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic141102818b6dad3016181b179a14024d0ff709d Gerrit-PatchSet: 15 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Casey Ching Gerrit-Reviewer: Casey Ching Gerrit-Reviewer: Dimitris Tsirogiannis Gerrit-Reviewer: Marcel Kornacker Gerrit-Reviewer: Matthew Jacobs