15

Cygwin ディストリビューションを使用して、Hadoop 0.20.3 と Hive 0.11.0 をインストールしました。

まず、Hive CLI の使い方がわかりません。

hive> show tables;

その後、入力しても何も起こりません。を使用してクエリを実行できますhive -e/-f.

次に、テーブルを作成しました。

CREATE TABLE tweet_table(
tweet STRING
)
COMMENT 'Table of string'

しかし、どうすればこのテーブルにデータを挿入できますか? いくつかのINSERT INTO例が表示されますが、試してみると:

INSERT INTO TABLE tweet_table (tweet) VALUES ("data")

エラーが発生しました:

FAILED: ParseException line 1:30 cannot recognize input near '(' 'tweet' ')' in select clause

テーブルにデータを追加するにはどうすればよいですか?

4

5 に答える 5

41

新しいデータをテーブルに挿入するには、2 つの方法があります。

  1. loadコマンドを使用して、ファイルのデータをテーブルにロードします。

    LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename.
    
  2. 選択クエリを使用して、新しいデータをテーブルに挿入できます。

    INSERT INTO table tablename1 select columnlist FROM secondtable;
    
于 2013-06-07T11:13:55.357 に答える
4

いくつかのデータを含むテーブル pre_loaded_tbl が既にある場合。次のクエリを使用して、トリックを使用してデータをテーブルにロードできます

INSERT INTO TABLE tweet_table 
  SELECT  "my_data" AS my_column 
    FROM   pre_loaded_tbl 
   LIMIT   5;

また、「my_data」は pre_loaded_tbl 内のデータとは無関係であることに注意してください。任意のデータを選択し、任意の列名を書き込むことができます (ここでは my_data と my_column)。Hive では、列名が同じである必要はありません。ただし、select ステートメントの構造は tweet_table の構造と同じにする必要があります。limit を使用して、tweet_table に挿入できる回数を決定できます。

ただし、テーブルを作成していない場合は、上記の回答のファイル コピーまたはデータの読み込みコマンドを使用してデータを読み込む必要があります。

于 2013-09-13T16:43:49.573 に答える
4

データ内の一重引用符でこれを使用してみてください:

insert into table test_hive values ('1','puneet');
于 2016-12-22T10:33:26.553 に答える