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;