hive外部テーブルテスト


1.hadoopにhive外部テーブルに関連付けられたパスを格納するためのパスを作成する
hadoop fs -mkdir/bigdata/output/MM_XK_USER1/train/zjs/test_external
2.hive外部テーブルの作成
beeline
create external table tb_test_external(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' location '/bigdata/output/MM_XK_USER1/train/zjs/test_external';
3.最初のテストファイルを作成する
vi 1.txt
1|test1
2|test2
3|test3

hadoopのコマンドラインで指定したパスにファイルをアップロード
hadoop fs –put 1.txt/bigdata/output/MM_XK_USER1/train/zjs/test_external/
4.beelineを使用して外部テーブルをクエリーし、データがロードされているかどうかを確認します.
beeline
select * from tb_test_external;
エラー:
not a RCFile and has magic of 1|t
システムのデフォルトではRCFile形式が使用されているため、text形式のファイルを認識できないため、テーブルの作成時にファイルのフォーマットを指定する必要があります:STORED AS TEXTFILE
テーブルを再作成するには、次の手順に従います.
drop table tb_test_external;
create external table tb_test_external(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE location '/bigdata/output/MM_XK_USER1/train/zjs/test_external';
再照会
select * from tb_test_external;
結果は次のとおりです.
tb_test_external.id|tb_test_external.name
1                  |test1
2                  |test2
3                  |test3
5.別のテキストファイルを作成し、指定したパスにアップロードする
vi 2.txt
4|test4
5|test5
6|test6

hadoop fs –put 2.txt/bigdata/output/MM_XK_USER1/train/zjs/test_external/
6.beelineクライアントでクエリーを再実行し、新しいファイルのデータがhiveテーブルに自動的にロードされたかどうかを確認します.
beeline
select * from tb_test_external;
tb_test_external.id|tb_test_external.name
1                  |test1
2                  |test2
3                  |test3
4                  |test4
5                  |test5
6                  |test6
参照リンク:
hive外部テーブル
HADOOP基本操作コマンド
Hiveテーブルと外部テーブル
Hive:ORC File Formatストレージフォーマットの詳細