hive------インデックスとビュー
2049 ワード
索引
インデックスはデータベース・プロビジョニングのテクノロジーであり、hiveインデックスは0.7以降からサポートされています.
hiveインデックスのメリットとデメリット
利点:全テーブルスキャンを回避またはスキャンデータストリームを低減し、クエリー効率を向上
欠点:冗長ストレージがあり、データのロードに時間がかかる
索引の特徴
インデックスファイル自体が整列し、インデックスファイルが小さい
インデックスのテスト
1.テーブルの作成create external table if not exists log1(
id string COMMENT 'this is id column',
phonenumber bigint,
mac string,
ip string,
url string,
title string,
upflow int,
downflow int
)
row format delimited fields terminated by '\t'
lines terminated by '
'
2.データのロード
3.時間の問合せと表示select
count(l.phonenumber)
from log1 l
group by l.phonenumber;
4.compactインデックスの作成//
show index on log1;
create index idx_log1_pho
on table log1(phonenumber)
as 'compact'
with deferred rebuild
;
5.時間を調べて比較するselect
count(l.phonenumber)
from log1 l
group by l.phonenumber;
// 。
インデックスの再構築
alter index idx_log1_pho
on log1 rebuild;
// MapReduce
結合インデックスの作成
create index idx_log1_union
on table log1(id,phonenumber)
as 'compact'
with deferred rebuild;
bitmapインデックスの作成
create index idx_log1_upflow
on table log1(upflow)
as 'bitmap'
with deferred rebuild;
索引の削除
drop index if exists idx_log1_upflow on log1;
表示
hiveプロジェクトは論理ビューのみをサポートし、物理ビューではありません.
ビューの意味
1.複雑なクエリの簡略化
2.データの局所露出
ビューの作成create view v1 as
select name,age from table1;
表示ビューひょうじびゅー//
show tables;
説明を表示desc v1;
desc extended v1;
show create table v1;
削除の試行delete view if exists v1;
// , 。
注意:
1.ビューに対応するテーブルを削除してからビューを使用中にエラーが発生しました.
2.ビューはloadまたはinsert intoでデータをロードできません.
3.ビューには読み取り可能なプロパティがあるだけで、変更できません.
create external table if not exists log1(
id string COMMENT 'this is id column',
phonenumber bigint,
mac string,
ip string,
url string,
title string,
upflow int,
downflow int
)
row format delimited fields terminated by '\t'
lines terminated by '
'
select
count(l.phonenumber)
from log1 l
group by l.phonenumber;
//
show index on log1;
create index idx_log1_pho
on table log1(phonenumber)
as 'compact'
with deferred rebuild
;
select
count(l.phonenumber)
from log1 l
group by l.phonenumber;
// 。
alter index idx_log1_pho
on log1 rebuild;
// MapReduce
create index idx_log1_union
on table log1(id,phonenumber)
as 'compact'
with deferred rebuild;
create index idx_log1_upflow
on table log1(upflow)
as 'bitmap'
with deferred rebuild;
drop index if exists idx_log1_upflow on log1;
hiveプロジェクトは論理ビューのみをサポートし、物理ビューではありません.
ビューの意味
1.複雑なクエリの簡略化
2.データの局所露出
ビューの作成
create view v1 as
select name,age from table1;
表示ビューひょうじびゅー
//
show tables;
説明を表示
desc v1;
desc extended v1;
show create table v1;
削除の試行
delete view if exists v1;
// , 。
注意:
1.ビューに対応するテーブルを削除してからビューを使用中にエラーが発生しました.
2.ビューはloadまたはinsert intoでデータをロードできません.
3.ビューには読み取り可能なプロパティがあるだけで、変更できません.