2013-06-10 14 views
5

HDFSにあるmyFile.csvファイルからHiveの外部テーブル "myTable"を作成しました。HDFSの変更を伴うHive外部テーブルの更新

myFile.csvが毎日変更されると、1日に1回「myTable」を更新することにも興味があります。

毎日テーブルを更新するように指示するHiveQLクエリはありますか?

ありがとうございます。

P.S.

ディレクトリと同じ方法で動作するかどうかを知りたいと思います。「myDir」に10個のファイルが含まれている場合、HDFSディレクトリ「myDir」からHiveパーティションを作成します。翌日 "myDIr"には20個のファイルが含まれています(10個のファイルが追加されました)。 Hiveパーティションを更新する必要がありますか?

答えて

6

基本的にHiveには2種類のテーブルがあります。

1つは、テーブルを作成するたびにハイブウェアハウスによって管理される管理対象テーブルで、内部ウェアハウスにコピーされます。 あなたはcan not have latest data in the query outputです。

その他はハイブがある外部表will not copy its data to internal warehouseです。

テーブルでクエリを実行すると、ファイルからデータが取得されます。

だから、クエリ出力に最新のデータを追加することもできます。

That is one of the goals of external table.

あなたも、テーブルを削除することができ、データが失われることはありません。

+0

私たちの回答ありがとうございます! – sunny

+0

ディレクトリと同じ方法で動作するかどうかを知りたい場合: 「myDir」に10個のファイルが含まれている場合、HDFSディレクトリ「myDir」からHiveパーティションを作成できます。 "myDIr"には20個のファイルが含まれています(10個のファイルが追加されています)。 Hiveパーティションを更新する必要がありますか? – sunny

+0

はいそれはうまくいくはずです –

4

LOCATION '/path/to/myFile.csv'句をテーブル作成ステートメントに追加する場合、Hiveで何も更新する必要はありません。常に最新バージョンのファイルをクエリに使用します。

関連する問題