元数据管理-技术元数据解决方案( 二 )
这里给出读取元数据的部分代码
1select2distinct concat('{{',concat_ws(',',collect_list(concat('"',tab_name,'":"',concat_column,'"'))),'}}') as result 3from4( 5select6distinct concat_ws('.',schema_name,table_name) as tab_name, 7concat( 8'md5(concat(', 9concat_ws(10',',11sort_array(12collect_set(13case when type_name='boolean' then concat('coalesce(',column_name,',false)') else concat('coalesce(',column_name,",'-99')") end14) over(partition by concat_ws('.',schema_name,table_name))15)16)17,'))'18)as concat_column 19from 20(21select 22t.name as schema_name,23t1.tbl_name as table_name,24t4.column_name,25t4.type_name26from dbs t27join tbls t128on t.db_id = t1.db_id and t.date_id = '2020-09-26' and t1.date_id = '2020-09-26'29left join partitions t230on t1.tbl_id = t2.tbl_id and t2.date_id = '2020-09-26'31left join sds t332on t2.sd_id = t3.sd_id and t3.date_id = '2020-09-26'33left join (select * from columns_v2 where date_id='2020-09-26') t434on t3.cd_id= t4.cd_id35where t.name='wedw_ods' and t1.tbl_name in ('tab_name') 36group by t.name ,t1.tbl_name,t4.column_name,t4.type_name37)t38)res
最后给出一张最后的效果图
文章插图
元数据库表存储Hive版本的元数据表(VERSION)VER_IDSCHEMA_VERSIONVERSION_COMMENTID主键Hive版本版本说明12.3.0Hive release version 2.3.0
文章插图
注意:该表不存在时 , 将无法进入cli模式
Hive数据库相关的元数据表(DBS,DATABASE_PARAMS)DBS:存储Hive中所有数据库基本信息该表的DB_ID字段也是 FUNC_RU、FUNCS、DB_PRIVS、DATABASE_PARAMS、以及TBLS的外键
元数据字段说明示例DB_ID数据库ID1DESC数据库描述Default Hive databaseDB_LOCATION_URI数据库HDFS路径hdfs://emr-cluster/user/hive/warehouseNAME数据库名defaultOWNER_NAME数据库所有者用户名publicOWNER_TYPE所有者角色ROLE
DATABASE_PARAMS:存储数据库的相关参数元数据库字段说明示例数据DB_ID数据库IDPARAM_KEY参数名PARAM_VALUE参数值
DB_PRIVS:存储数据库的授权信息元数据库字段说明示例数据DB_GRANT_ID授权IDCREATE_TIME授权时间DB_ID数据库IDGRANT_OPTIONGRANTOR授权执行用户GRANTOR_TYPE授权者类型PRINCIPAL_NAME被授权用户PRINCIPAL_TYPE被授权用户类型DB_PRIV权限AUTHORIZER
Hive表和视图相关的元数据表TBLS:该表存储HIve表、视图、索引表的基本信息元数据表字段说明示例数据TBL_ID表ID3CREATE_TIME创建时间1542359066DB_ID数据库ID5LAST_ACCESS_TIME上次访问时间0OWNER所有者hadoopRETENTION保留字段0SD_ID序列化配置信息3TBL_NAME表名t_dsp_mart_bankcard_locationTBL_TYPE表类型MANAGED_TABLEVIEW_EXPANDED_TEXT视图的详细HQL语句NULLVIEW_ORIGINAL_TEXT视图的原始HQL语句NULLIS_REWRITE_ENABLED是否开启重写
TABLE_PARAMS:该表存储表/视图的属性信息元数据字段说明示例TBL_ID表ID3PARAM_KEY属性名transient_lastDdlTimePARAM_VALUE属性值1542359066
TBL_PRIVS:存储表/视图的授权信息元数据字段说明示例TBL_GRANT_ID授权ID14CREATE_TIME授权时间1542359066GRANT_OPTION1GRANTOR授权执行用户hadoopGRANTOR_TYPE授权者类型USERPRINCIPAL_NAME被授权用户hadoopPRINCIPAL_TYPE被授权用户类型USERTBL_PRIV权限INSERTTBL_ID表ID3
Hive文件存储信息相关的元数据表SDS:保存文件存储的基本信息元数据字段说明示例SD_ID存储信息ID3CD_ID字段信息ID3INPUT_FORMAT文件输入格式org.apache.hadoop.mapred.TextInputFormatIS_COMPRESSED是否压缩IS_STOREDASSUBDIRECTORIES是否以子目录存储LOCATIONHDFS路径hdfs://emr-cluster/user/hive/warehouse/dspdb.db/t_dsp_mart_bankcard_locationNUM_BUCKETS分桶数量-1OUTPUT_FORMAT文件输出格式org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormatSERDE_ID序列化类ID3
SD_PARAMS:存储Hive存储的属性信息元数据字段说明示例SD_ID存储配置IDPARAM_KEY存储属性名PARAM_VALUE存储属性值
SERDES:存储序列化使用的类信息元数据字段说明示例SERDE_ID序列化类配置ID3NAME序列化类别名NULLSLIB序列化类org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
SERDE_PARAMS:存储序列化的一些属性、格式信息元数据字段说明示例SERDE_ID序列化类配置ID3PARAM_KEY属性名field.delimPARAM_VALUE属性值
Hive表字段相关的元数据表COLUMNS_V2:存储表对应的字段信息元数据字段说明示例CD_ID字段信息ID3COMMENT字段注释NULLCOLUMN_NAME字段名bankcodeTYPE_NAME字段类型stringINTEGER_IDX字段顺序2
Hive表分区相关的元数据表PARTITIONS:存储表分区的基本信息元数据字段说明示例PART_ID分区ID2CREATE_TIME分区创建时间1542697377LAST_ACCESS_TIME最后一次访问时间0PART_NAME分区名dt=2018-11-19SD_ID分区存储ID47TBL_ID表ID30
PARTITION_KEY_VALS:存储分区字段值元数据字段说明示例PART_ID分区ID2PART_KEY_VAL分区字段值2018-11-19INTEGER_IDX分区字段值顺序0
- OPPO|2199元,OPPOReno7SE,值得入手吗?
- saas|上半年的Redmi K40 Pro,现在入手2500元不到,还等?
- 酷比魔方|持续推进技术储备,网易星球区块链技术或成元宇宙入场券
- 彼尔姆|机器人公司想用 20 万美元「买断」你的脸,如果它足够友好
- 小米科技|顶级旗舰价格下跌,12GB+256GB+2K+50倍变焦,官方直降1300元
- OPPO|OPPO未来科技大会正式官宣,官方明示将有旗舰新品和创新技术亮相
- 索尼Xperia|力压iPhone13 Pro Max,续航排名第一,仅售1699元
- airpods3|这才是真相:柳传志退休金不是1亿,杨元庆年薪1.7亿比库克低,总部不在美国
- 支付宝|突破2项关键技术,中科院又立功了,事关量子计算和3D打印
- |跌至3099元!8GB运存+128GB+骁龙865,唯一缺陷不是新手机