INSERT INTO

INSERT INTO

Insert or overwrite data, into an existing table (and partition).

Syntax

INSERT { INTO | OVERWRITE [PARTITION (<partitions-list>)] } [schema_name.]table_name [(column-list)] { <select-statement> | VALUES (<values-row>) [, (<values-row>)] } <partitions-list> ::= partition_value[,...n] <values-row> ::= value[,...n]

Description

Select rows from a source table and insert the rows into a target table, or insert a given list of values as a single new row in the target table.

OVERWRITE - Overwrite the existing data in the table.

OVERWRITE PARTITION <partitions-list> - Overwrite existing partitions of a target table. The target partitions are specified via <partitions-list>, which is a comma-separated list of values of a partition column, where each value identifies a partition. The selected rows will be inserted only if it fits the partitions from the list.

Partition_value - Any value that fits the defined range of a single partition.

Insert into... values - Supported from Jethro version 3.0.4 and above.

Example

INSERT INTO table2 SELECT * FROM table1;

or

INSERT INTO table2 (co1, co2, co3) SELECT ci1, ci2, ci3 FROM table3;

or

INSERT OVERWRITE PARTITION (100) table2 SELECT ci1, ci2, ci3 FROM table1;

or

INSERT INTO table2 (co1, co2, co3) VALUES (1,2,3),(4,5,6);

Using INSERT INTO for loading data from Hive

Example of the full process required to create a load process from Hive table into a Jethro table:

1. Create external data source

CREATE EXTERNAL DATA SOURCE hive_test TYPE=HIVE LOCATION='jdbc:hive2://10.1.1.111:10000/hivetesting' credentials=''/'';

2. Create external table

CREATE EXTERNAL TABLE hive_ext_all_types_of_fields ( intfield INTEGER, doublefield DOUBLE, stringfield STRING, floatfield FLOAT ) DATA SOURCE=hive_test LOCATION='all_types_of_fields' REJECT_POLICY=FAIL REJECT_LIMIT_COUNT=3;

3. Create a table in Jethro

CREATE TABLE all_types_of_fields ( intfield INTEGER, doublefield DOUBLE, stringfield STRING, floatfield FLOAT );

4. run INSERT INTO operation (from the external table into the Jethro table):

INSERT INTO all_types_of_fields SELECT * FROM hive_ext_all_types_of_fields;

See Also

SELECT

CREATE TABLE

CREATE EXTERNAL TABLE

CREATE EXTERNAL DATA SOURCE