mirror of
https://github.com/apache/impala.git
synced 2025-12-25 02:03:09 -05:00
For history and tracking purposes, there are many instances of rev="CDH-1234" for various CDH- JIRA numbers. This produces no visible output, it's just FYI for the person editing the source. Removing all these now from the upstream doc source, so as not to have "CDH" all through the doc source files. Change-Id: I29089e5a31cd72e876b2ccb8375d1c10693c6aba Reviewed-on: http://gerrit.cloudera.org:8080/6349 Reviewed-by: Ambreen Kazi <ambreen.kazi@cloudera.com> Reviewed-by: John Russell <jrussell@cloudera.com> Tested-by: Impala Public Jenkins
178 lines
7.5 KiB
XML
178 lines
7.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
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.
|
|
-->
|
|
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
|
|
<concept id="drop_table">
|
|
|
|
<title>DROP TABLE Statement</title>
|
|
<titlealts audience="PDF"><navtitle>DROP TABLE</navtitle></titlealts>
|
|
<prolog>
|
|
<metadata>
|
|
<data name="Category" value="Impala"/>
|
|
<data name="Category" value="SQL"/>
|
|
<data name="Category" value="DDL"/>
|
|
<data name="Category" value="Tables"/>
|
|
<data name="Category" value="Schemas"/>
|
|
<data name="Category" value="S3"/>
|
|
<data name="Category" value="Developers"/>
|
|
<data name="Category" value="Data Analysts"/>
|
|
</metadata>
|
|
</prolog>
|
|
|
|
<conbody>
|
|
|
|
<p>
|
|
<indexterm audience="hidden">DROP TABLE statement</indexterm>
|
|
Removes an Impala table. Also removes the underlying HDFS data files for internal tables, although not for
|
|
external tables.
|
|
</p>
|
|
|
|
<p conref="../shared/impala_common.xml#common/syntax_blurb"/>
|
|
|
|
<codeblock>DROP TABLE [IF EXISTS] [<varname>db_name</varname>.]<varname>table_name</varname> <ph rev="2.3.0">[PURGE]</ph></codeblock>
|
|
|
|
<p>
|
|
<b>IF EXISTS clause:</b>
|
|
</p>
|
|
|
|
<p>
|
|
The optional <codeph>IF EXISTS</codeph> clause makes the statement succeed whether or not the table exists.
|
|
If the table does exist, it is dropped; if it does not exist, the statement has no effect. This capability is
|
|
useful in standardized setup scripts that remove existing schema objects and create new ones. By using some
|
|
combination of <codeph>IF EXISTS</codeph> for the <codeph>DROP</codeph> statements and <codeph>IF NOT
|
|
EXISTS</codeph> clauses for the <codeph>CREATE</codeph> statements, the script can run successfully the first
|
|
time you run it (when the objects do not exist yet) and subsequent times (when some or all of the objects do
|
|
already exist).
|
|
</p>
|
|
|
|
<p rev="2.3.0">
|
|
<b>PURGE clause:</b>
|
|
</p>
|
|
|
|
<p rev="2.3.0"> The optional <codeph>PURGE</codeph> keyword, available in
|
|
<keyword keyref="impala23_full"/> and higher, causes Impala to remove the associated
|
|
HDFS data files immediately, rather than going through the HDFS trashcan
|
|
mechanism. Use this keyword when dropping a table if it is crucial to
|
|
remove the data as quickly as possible to free up space, or if there is a
|
|
problem with the trashcan, such as the trash cannot being configured or
|
|
being in a different HDFS encryption zone than the data files. </p>
|
|
|
|
<p conref="../shared/impala_common.xml#common/ddl_blurb"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/usage_notes_blurb"/>
|
|
|
|
<p>
|
|
By default, Impala removes the associated HDFS directory and data files for the table. If you issue a
|
|
<codeph>DROP TABLE</codeph> and the data files are not deleted, it might be for the following reasons:
|
|
</p>
|
|
|
|
<ul>
|
|
<li>
|
|
If the table was created with the
|
|
<codeph><xref href="impala_tables.xml#external_tables">EXTERNAL</xref></codeph> clause, Impala leaves all
|
|
files and directories untouched. Use external tables when the data is under the control of other Hadoop
|
|
components, and Impala is only used to query the data files from their original locations.
|
|
</li>
|
|
|
|
<li>
|
|
Impala might leave the data files behind unintentionally, if there is no HDFS location available to hold
|
|
the HDFS trashcan for the <codeph>impala</codeph> user. See
|
|
<xref href="impala_prereqs.xml#prereqs_account"/> for the procedure to set up the required HDFS home
|
|
directory.
|
|
</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Make sure that you are in the correct database before dropping a table, either by issuing a
|
|
<codeph>USE</codeph> statement first or by using a fully qualified name
|
|
<codeph><varname>db_name</varname>.<varname>table_name</varname></codeph>.
|
|
</p>
|
|
|
|
<p>
|
|
If you intend to issue a <codeph>DROP DATABASE</codeph> statement, first issue <codeph>DROP TABLE</codeph>
|
|
statements to remove all the tables in that database.
|
|
</p>
|
|
|
|
<p conref="../shared/impala_common.xml#common/example_blurb"/>
|
|
|
|
<codeblock>create database temporary;
|
|
use temporary;
|
|
create table unimportant (x int);
|
|
create table trivial (s string);
|
|
-- Drop a table in the current database.
|
|
drop table unimportant;
|
|
-- Switch to a different database.
|
|
use default;
|
|
-- To drop a table in a different database...
|
|
drop table trivial;
|
|
<i>ERROR: AnalysisException: Table does not exist: default.trivial</i>
|
|
-- ...use a fully qualified name.
|
|
drop table temporary.trivial;</codeblock>
|
|
|
|
<p conref="../shared/impala_common.xml#common/disk_space_blurb"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/s3_blurb"/>
|
|
<p rev="2.6.0 IMPALA-1878">
|
|
The <codeph>DROP TABLE</codeph> statement can remove data files from S3
|
|
if the associated S3 table is an internal table.
|
|
In <keyword keyref="impala26_full"/> and higher, as part of improved support for writing
|
|
to S3, Impala also removes the associated folder when dropping an internal table
|
|
that resides on S3.
|
|
See <xref href="impala_s3.xml#s3"/> for details about working with S3 tables.
|
|
</p>
|
|
|
|
<p conref="../shared/impala_common.xml#common/s3_drop_table_purge"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/s3_ddl"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/cancel_blurb_no"/>
|
|
|
|
<p conref="../shared/impala_common.xml#common/permissions_blurb"/>
|
|
<p rev="">
|
|
For an internal table, the user ID that the <cmdname>impalad</cmdname> daemon runs under,
|
|
typically the <codeph>impala</codeph> user, must have write
|
|
permission for all the files and directories that make up the table.
|
|
</p>
|
|
<p>
|
|
For an external table, dropping the table only involves changes to metadata in the metastore database.
|
|
Because Impala does not remove any HDFS files or directories when external tables are dropped,
|
|
no particular permissions are needed for the associated HDFS files or directories.
|
|
</p>
|
|
|
|
<p rev="kudu" conref="../shared/impala_common.xml#common/kudu_blurb"/>
|
|
<p rev="kudu">
|
|
Kudu tables can be managed or external, the same as with HDFS-based
|
|
tables. For a managed table, the underlying Kudu table and its data
|
|
are removed by <codeph>DROP TABLE</codeph>. For an external table,
|
|
the underlying Kudu table and its data remain after a
|
|
<codeph>DROP TABLE</codeph>.
|
|
</p>
|
|
|
|
<p conref="../shared/impala_common.xml#common/related_info"/>
|
|
|
|
<p>
|
|
<xref href="impala_tables.xml#tables"/>,
|
|
<xref href="impala_alter_table.xml#alter_table"/>, <xref href="impala_create_table.xml#create_table"/>,
|
|
<xref href="impala_partitioning.xml#partitioning"/>, <xref href="impala_tables.xml#internal_tables"/>,
|
|
<xref href="impala_tables.xml#external_tables"/>
|
|
</p>
|
|
|
|
</conbody>
|
|
</concept>
|