hive元数据研究

时间:2022-02-20 04:52:29

hive的元数据存放在关系型数据库中,元数据中存储了hive中所有表格的信息,包括表格的名字,表格的字段,字段的类型,注释。这些信息分散的存放在各个表中,给定一个hive中的表格名字,查询这个表中含有的所有字段,使用如下的SQL语句:

mysql> select COLUMNS_V2.* from COLUMNS_V2,SDS, TBLS where COLUMNS_V2.CD_ID = SDS.CD_ID and SDS.SD_ID = TBLS.SD_ID and TBLS.TBL_NAME='dwd_medical_hospital_dd';
+-------+--------------------------------------+-------------+-----------+-------------+
| CD_ID | COMMENT | COLUMN_NAME | TYPE_NAME | INTEGER_IDX |
+-------+--------------------------------------+-------------+-----------+-------------+
| 603 | 地址 | address | string | 2 |
| 603 | 医院类型 | clean_type | string | 14 |
| 603 | 采集时间 | create_time | string | 10 |
| 603 | 所在大区 | extend_area | string | 13 |
| 603 | 所在城市 | extend_city | string | 11 |
| 603 | 所在省份 | extend_prov | string | 12 |
| 603 | 路线 | howtogo | string | 3 |
| 603 | 主键ID/在其它表中表示为外键:hosp_id | id | string | 0 |
| 603 | 医院等级 | level | string | 4 |
| 603 | 医院名字 | name | string | 1 |
| 603 | 简介 | profiles | string | 7 |
| 603 | 区域ID/城市ID | prov_id | string | 5 |
| 603 | 资源配置量 | resouce | string | 8 |
| 603 | 电话 | telephone | string | 6 |
| 603 | 采集URL | url | string | 9 |
| 583 | 地址 | address | string | 2 |
| 583 | 医院类型 | clean_type | string | 14 |
| 583 | 采集时间 | create_time | string | 10 |
| 583 | 所在大区 | extend_area | string | 13 |
| 583 | 所在城市 | extend_city | string | 11 |
| 583 | 所在省份 | extend_prov | string | 12 |
| 583 | 路线 | howtogo | string | 3 |
| 583 | 主键ID/在其它表中表示为外键:hosp_id | id | string | 0 |
| 583 | 医院等级 | level | string | 4 |
| 583 | 医院名字 | name | string | 1 |
| 583 | 简介 | profiles | string | 7 |
| 583 | 区域ID/城市ID | prov_id | string | 5 |
| 583 | 资源配置量 | resouce | string | 8 |
| 583 | 电话 | telephone | string | 6 |
| 583 | 采集URL | url | string | 9 |
+-------+--------------------------------------+-------------+-----------+-------------+
30 rows in set
mysql> select COLUMNS_V2.* from COLUMNS_V2,SDS, TBLS where COLUMNS_V2.CD_ID = SDS.CD_ID and SDS.SD_ID = TBLS.SD_ID and TBLS.TBL_NAME='dws_info_doctor_dd';
+-------+----------+----------------+-----------+-------------+
| CD_ID | COMMENT | COLUMN_NAME | TYPE_NAME | INTEGER_IDX |
+-------+----------+----------------+-----------+-------------+
| 673 | 年龄 | age | string | 3 |
| 673 | 科室ID | department_id | string | 10 |
| 673 | 从诊年限 | diagnosis_time | string | 6 |
| 673 | 履历 | experience | string | 8 |
| 673 | 擅长疾病 | good | string | 5 |
| 673 | NULL | hosp_id | string | 11 |
| 673 | 主键ID | id | string | 0 |
| 673 | 医生名称 | name | string | 1 |
| 673 | 门诊量 | outpatient_num | string | 7 |
| 673 | 医生职称 | position | string | 2 |
| 673 | 评分 | score | string | 9 |
| 673 | 性别 | sex | string | 4 |
| 758 | 年龄 | age | string | 3 |
| 758 | 科室ID | department_id | string | 10 |
| 758 | 从诊年限 | diagnosis_time | string | 6 |
| 758 | 履历 | experience | string | 8 |
| 758 | 擅长疾病 | good | string | 5 |
| 758 | NULL | hosp_id | string | 11 |
| 758 | 主键ID | id | string | 0 |
| 758 | 医生名称 | name | string | 1 |
| 758 | 门诊量 | outpatient_num | string | 7 |
| 758 | 医生职称 | position | string | 2 |
| 758 | 评分 | score | string | 9 |
| 758 | 性别 | sex | string | 4 |
| 732 | 年龄 | age | string | 3 |
| 732 | 科室ID | department_id | string | 10 |
| 732 | 从诊年限 | diagnosis_time | string | 6 |
| 732 | 履历 | experience | string | 8 |
| 732 | 擅长疾病 | good | string | 5 |
| 732 | 主键ID | id | string | 0 |
| 732 | 医生名称 | name | string | 1 |
| 732 | 门诊量 | outpatient_num | string | 7 |
| 732 | 医生职称 | position | string | 2 |
| 732 | 评分 | score | string | 9 |
| 732 | 性别 | sex | string | 4 |
+-------+----------+----------------+-----------+-------------+
35 rows in set

hive元数据中相关的表格关系如下:

hive元数据研究