探索Hive元資料 sql雜記

2021-10-20 07:03:01 字數 2316 閱讀 9677

1、探索hive元資料

涉及表說明:

如果表結構有變動,那麼cd_id會改變。如果想檢視變動前的表cd_id,可通過下面語句查詢到結果數量與表分割槽數量相等:

select

*from sds where location like

'%table_name%'

;

再通過下面語句獲取表分割槽的結構:

select

*from columns_v2 where cd_id=***;

表有乙個sd_id,表每個分割槽的sd_id各不相同,且和表的sd_id不一樣。

tbls儲存的是當前表結構sd_id,其sds對應的cd_id是最新表結構。

通過元資料查詢表字段及分割槽資訊:

select

t1.tbl_id

,t2.

`name`

as db_name

,t1.tbl_name

,t3.param_value as table_comment

,t5.

comment

as column_comment

,t4.cd_id

,t5.column_name

,t5.type_name

,t5.integer_idx,0

as partition_key_flag

from tbls t1

left

join dbs t2

on t1.db_id = t2.db_id

left

join table_params t3

on t1.tbl_id = t3.tbl_id

and t3.param_key =

'comment'

left

join sds t4

on t1.sd_id = t4.sd_id

join columns_v2 t5

on t4.cd_id = t5.cd_id

union

allselect

t1.tbl_id

,t2.

`name`

as db_name

,t1.tbl_name

,t3.param_value as table_comment

,t5.pkey_comment as column_comment

,t4.cd_id

,t5.pkey_name as column_name

,t5.pkey_type as type_name

,t5.integer_idx,1

as partition_key_flag

from tbls t1

left

join dbs t2

on t1.db_id = t2.db_id

left

join table_params t3

on t1.tbl_id = t3.tbl_id

and t3.param_key =

'comment'

left

join sds t4

on t1.sd_id = t4.sd_id

join partition_keys t5

on t1.tbl_id = t5.tbl_id;

2、hql、mysql:greatest可實現最小值為x、least可實現最大值為x。greatest/least獲取取最大/小值。

select

1as seq,greatest(0,

1,-1

)as a --取函式內字段值的最大值,這裡返回1

union

allselect

2as seq,least(0,

1,-1

)as a --取函式內字段值的最小值,這裡返回-1

union

allselect

3as seq,greatest(0,

null,-

1)as a --由於字段存在null,函式值返回null

union

allselect

4as seq,least(0,

null,-

1)as a --由於字段存在null,函式值返回null

3、獲取日期,hql:to_date(timestr);mysql:date(timestr)

Hive元資料對應關係Sql

眾所周知hive的表關係儲存在mysql中,由於presto在建立hive表時comment不能新增中文,今天有個需求需要新增中文注釋,那就先了解一下hive中元資料的儲存結構,下面是sql,邏輯不複雜把邏輯記一下方便以後使用 select c.from tbls t join sds s on t...

sql 資料雜記

1 sql把資料行和彙總行連線起來用union all 注意 如果union上面的是數字形式的,下面的用 就會報錯。2 字串擷取 left string,3 str right string,3 ing 3 日期判斷 datediff d,datefield,getdate 0 當天,第二個日期減去...

hive 自定義元資料表 Hive 元資料表含義

hive 元資料表含義 1 version 查詢版本資訊 fieldtypecomment ver id bigint 20 id主鍵 schema version varchar 127 hive版本 version comment varchar 255 版本說明 2 dbs 儲存hive中所有...