| <?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="transactions"> |
| |
| <title>Impala Transactions</title> |
| |
| <titlealts audience="PDF"> |
| |
| <navtitle>Transactions</navtitle> |
| |
| </titlealts> |
| |
| <conbody> |
| |
| <p> |
| A transaction is a single logical operation on the data. Impala supports transactions that |
| satisfy a level of consistency that improves the integrity and reliability of the data |
| before and after a transaction. |
| </p> |
| |
| <p> |
| Specifically, Impala provides atomicity and isolation of insert operations on |
| transactional tables. A single table insert is either committed in full or not committed, |
| and the results of the insert operation are not visible to other query operations until |
| the operation is committed. |
| </p> |
| |
| <p> |
| For single table, the inserts are ordered, so if Impala doesn't see a committed insert, it |
| won't see any insert committed after it. |
| </p> |
| |
| <p> |
| For insert-only transactional tables, you can perform the following statements: |
| <codeph>CREATE TABLE</codeph>, <codeph>DROP TABLE</codeph>, <codeph>TRUNCATE</codeph>, |
| <codeph>INSERT</codeph>, <codeph>SELECT</codeph> |
| </p> |
| |
| <p> |
| All transactions in Impala automatically commit at the end of the statement. Currently, |
| Impala does not support multi-statement transactions. |
| </p> |
| |
| <p> |
| Insert-only tables must be the managed and file-format based tables, such as Parquet, |
| Avro, and text. |
| </p> |
| |
| <note> |
| Impala does not support changing transactional properties of tables. For example, you |
| cannot alter a transactional table to a non-transactional table. |
| </note> |
| |
| </conbody> |
| |
| </concept> |