web-dev-qa-db-ja.com

データの複数の行をHive(0.13.1)テーブルに挿入する方法は?

Hiveバージョン0.13.1の以下のクエリに相当するものを探しています。

INSERT INTO TABLE table1 VALUES 
(151, 'cash', 'lunch'), 
(152, 'credit', 'lunch'), 
(153, 'cash', 'dinner');

from this 回答バージョン0.14以降で利用可能な「INSERT .... VALUES」クエリは明らかです。
では、特定のHiveバージョンに対する上記のクエリと同等のものは何ですか?

5
Janmejaya Nanda

複数の値を挿入する場合は、選択を結合できます

INSERT INTO TABLE table1 
    select 151, 'cash', 'lunch'
    union all
    select 152, 'credit', 'lunch'
    union all
    select 153, 'cash', 'dinner';
7
Jared

「スタック」機能を使用する場合、最初の数字は行数を表します

INSERT INTO TABLE table1 
select stack
       (
           3
          ,151 ,'cash'   ,'lunch'
          ,152 ,'credit' ,'lunch'
          ,153 ,'cash'   ,'dinner'
       )

または

INSERT INTO TABLE table1 
select inline(array
       (
           struct (151 ,'cash'   ,'lunch')
          ,struct (152 ,'credit' ,'lunch')
          ,struct (153 ,'cash'   ,'dinner')
       ))