ハイブのビューと側面図

ハイブのビューと側面図

ハイブビュー

ビューとは何ですか

1.サブクエリ、接続、および関数を非表示にすることにより、クエリの論理構造を簡素化します

2.仮想テーブル、実テーブルからデータを選択

3.データではなく、定義のみを保存します

4.基になるテーブルを削除または変更すると、クエリビューは失敗します

5.ビューは読み取り専用であり、データを挿入またはロードすることはできません

ビューの利点

1.データのプライバシーを保護するために、ユーザーに特定の列を提供します

2.複雑なクエリステートメントを使用するシナリオ

構文を表示

操作コマンドの表示:CREATE、SHOW、DROP、ALTER

CREATE VIEW view_name AS SELECT statement; -- 创建视图
	-- 创建视图支持 CTE, ORDER BY, LIMIT, JOIN, etc.
SHOW TABLES; -- 查找视图 (SHOW VIEWS 在 hive v2.2.0之后)
SHOW CREATE TABLE view_name; -- 查看视图定义
DROP view_name; -- 删除视图
ALTER VIEW view_name SET TBLPROPERTIES ('comment' = 'This is a view');
--更改视图属性
ALTER VIEW view_name AS SELECT statement; -- 更改视图定义, 

ハイブの側面図

1.関数の入力と出力を接続するために、テーブル生成関数と組み合わせて使用​​されることがよくあります。

2. OUTERキーワード:出力が空の場合でも結果が生成されます

select name,work_place,loc from employee lateral view outer explode(split(null,',')) a as loc;

3.複数のレベルをサポートします

select name,wps,skill,score from employee 
lateral view explode(work_place) work_place_single as wps
lateral view explode(skills_score) sks as skill,score;

4.通常、行の正規化またはJSONの解析に使用されます

総括する

見る

Hiveでの試みは、SQLステートメントへのショートカットにすぎません。

ハイブ内のビューは論理ビューにすぎず、マテリアライズドビューはありません

ハイブビューは、追加、削除、変更をサポートせず、クエリのみをサポートします

クエリが実際に実行されたときのみのハイブビュー

側面図

ラテラルビュー関数とUDTF関数関数を併用します。テーブル内の各行をUDTF関数によって出力された各行に接続して、新しい仮想テーブルを生成します。UDTFによって生成されたレコードにフィールド名を設定できます。新しく追加されたフィールドは次のようになります。 In sort by、group by、およびその他のステートメントで使用されます。サブクエリの別のレイヤーを設定する必要はありません。ラテラルビューの役割は、元のテーブルデータを展開することです。

おすすめ

転載: blog.csdn.net/giantleech/article/details/115331046