hive 維表關聯,維表層級id不確定情況

2021-10-21 12:09:47 字數 1705 閱讀 8394

問題描述:事實表儲存的類目id不確定是幾級id;一共有**類目,需要把類目資訊維護進事實表,比如記錄的是二級類目id,需要把一級類目資料維護進事實表。

一開始沒有想到怎麼搞,還是想了一會兒想了這麼個處理方法:

ods_classify原始業務庫表,id就是各級的類目id,pid就是上一層級的類目id,dim_classify是事先處理好的一二**類目表

select 	t1.id

,t4.third_id

,t4.third_title

,case when t4.sencond_id is not null then t4.sencond_id

else t3.sencond_id end as sencond_id

,case when t4.sencond_title is not null then t4.sencond_title

else t3.sencond_title end as sencond_title

,case when t4.first_id is not null then t4.first_id

when t3.first_id is not null then t3.first_id

else t2.first_id end as first_id

,case when t4.first_title is not null then t4.first_title

when t3.first_title is not null then t3.first_title

else t2.first_title end as first_title

from (

select id

from ods_classify

) t1 left

join (

select first_id

,first_title

from dim_classify

group by first_id

,first_title

) t2

on t1.id = t2.first_id left

join (

select sencond_id

,sencond_title

,first_id

,first_title

from dim_classify

group by sencond_id

,sencond_title

,first_id

,first_title

) t3

on t1.id = t3.sencond_id left

join (

select third_id

,third_title

,sencond_id

,sencond_title

,first_id

,first_title

from dim_classify

group by third_id

,third_title

,sencond_id

,sencond_title

,first_id

,first_title

) t4

on t1.id = t4.third_id

;

hive與hbase關聯表

關於 hbase 和 hive 關聯表 詳細介紹 hive 建立 關聯hbase表有2種形式 這種情況是hbase本來沒有這張表。hive建表時建立了hbase表.這種情況下,hdfs的hive表目錄有hive資料夾,但是裡面沒有資料 資料時存在hbase裡面的 hive insert overwr...

一維表轉二維表(mysql)

例子資料 drop table ifexists tmp0103.temp test create table tmp0103.temp test id int 11 not null auto increment,class varchar 255 default null,score doubl...

一維表轉換成二維表

晚上回到宿舍,舍友問起我今天他們筆試的乙個題目 如何把乙個一維表轉換成二維表 sql查詢該如何寫呢?一維表table a如下 年級 課目 人數 2001 語文 20 2001 數學 15 2002 語文 20 2002 數學 15 2003 語文 20 2003 數學 15 如何轉換成如下格式的二維...