1

INSERT-SELECT以下に示すように、別のテーブルで直接クエリを使用して、データをテーブルにロードするためのクエリがあります。

INSERT OVERWRITE TABLE <table1>
SELECT * FROM <table2> t2
WHERE <some-conditions>;

同様に、複雑なデータ型を含むテーブルをどのようにロードできますか? SELECT クエリの列のいくつかまたは一部を複雑なデータ型の列に寄与させるにはどうすればよいですか? 私の言いたいことが分かりますか?

table1 のスキーマは

TABLE (col1 INT, col2 STRING, col3 ARRAY<STRING>)

注:INSERT-SELECTファイルからそのようなテーブルへのロードは可能ですが、上記のクエリ方法を使用してロードできるかどうか試してみたいだけです。ご関心をお寄せください。

4

1 に答える 1

0

insert .. select に相当する Hive は、次のいずれかです。

1. from (table 2 query)
insert [overwrite] table <table1> [partition clause if partitioned table]

また

2. create table table1 as select <table2 query>

#2 (CTAS) は信頼できないことに注意してください。明示的なテーブル作成または次のようなものと組み合わせて#1を実行することで、より良いサービスが提供されます。

create table <table1> **like** table2
于 2013-12-01T19:20:17.437 に答える