Hive metastore 结构

  1. -- Hive 文件存储信息相关的元数据表 (SDSSD_PARAMSSERDESSERDE_PARAMS)
  2. -- Hive表分区相关的元数据表 (PARTITIONSPARTITION_KEYSPARTITION_KEY_VALSPARTITION_PARAMS)
  3. -- 显示所有 hive 中所有的表
  4. SELECT
  5. db_tb.DB_ID,
  6. db_tb.NAME,
  7. db_tb.DB_LOCATION_URI,
  8. db_tb.OWNER_NAME,
  9. db_tb.DESC,
  10. tb_tb.TBL_ID,
  11. tb_tb.SD_ID,
  12. tb_tb.TBL_NAME,
  13. tb_tb.TBL_TYPE,
  14. tb_tb.CREATE_TIME,
  15. tb_tb.OWNER AS tb_OWNER,
  16. tb_sds.LOCATION,
  17. tb_params.lastDdlTime,
  18. FROM_UNIXTIME(tb_params.lastDdlTime,'%Y-%m-%d %h:%i:%s') AS lastTime
  19. FROM
  20. DBS AS db_tb
  21. LEFT JOIN
  22. TBLS AS tb_tb
  23. ON
  24. db_tb.DB_ID = tb_tb.DB_ID
  25. LEFT JOIN
  26. SDS AS tb_sds
  27. ON
  28. tb_sds.SD_ID = tb_tb.SD_ID
  29. -- 表部分属性信息
  30. LEFT JOIN (
  31. SELECT
  32. TBL_ID,
  33. PARAM_VALUE AS lastDdlTime
  34. FROM
  35. TABLE_PARAMS
  36. WHERE
  37. PARAM_KEY = 'transient_lastDdlTime'
  38. ) AS tb_params
  39. ON
  40. tb_params.TBL_ID = tb_tb.TBL_ID
  41. --WHERE tb_tb.TBL_NAME = 'jason_test_member'
  42. ;
  43. --- 显示数据表的字段信息 START ---
  44. SELECT
  45. tb_tb.TBL_ID,
  46. tb_tb.SD_ID,
  47. tb_tb.TBL_NAME,
  48. tb_sds.LOCATION,
  49. tb_columns.COLUMN_NAME,
  50. tb_columns.TYPE_NAME,
  51. tb_columns.COMMENT,
  52. tb_partition.PKEY_NAME,
  53. tb_partition.PKEY_TYPE,
  54. tb_partition.PKEY_COMMENT
  55. FROM
  56. TBLS AS tb_tb
  57. LEFT JOIN
  58. SDS AS tb_sds
  59. ON
  60. tb_sds.SD_ID = tb_tb.SD_ID
  61. LEFT JOIN
  62. COLUMNS_V2 AS tb_columns
  63. ON
  64. tb_columns.CD_ID = tb_sds.CD_ID
  65. LEFT JOIN
  66. PARTITION_KEYS AS tb_partition
  67. ON
  68. tb_partition.TBL_ID = tb_tb.TBL_ID
  69. WHERE
  70. tb_tb.TBL_NAME = 'dw_app_access_log'
  71. ORDER BY
  72. tb_columns.INTEGER_IDX ASC
  73. ;
  74. -- 处理思路流程
  75. SELECT TBL_ID,SD_ID,TBL_NAME FROM TBLS WHERE TBL_NAME = 'dw_app_access_log';
  76. -- 显示存储格式以及地址信息 (通过 SD_ID = SD_ID)
  77. SELECT SD_ID,CD_ID,LOCATION FROM SDS WHERE SD_ID = 19054
  78. -- 通过 CD_ID 找出字段信息
  79. SELECT * FROM COLUMNS_V2 WHERE CD_ID = 17723
  80. --- 显示数据表的字段信息 END ---
  81. -- 显示表所有分区信息
  82. SELECT
  83. tb_tb.TBL_ID,
  84. tb_tb.SD_ID,
  85. tb_tb.TBL_NAME,
  86. tb_par.PART_ID,
  87. tb_par.CREATE_TIME,
  88. tb_par.PART_NAME
  89. FROM
  90. TBLS AS tb_tb
  91. LEFT JOIN
  92. PARTITIONS AS tb_par
  93. ON
  94. tb_par.TBL_ID = tb_tb.TBL_ID
  95. WHERE
  96. tb_tb.TBL_NAME = 'dw_app_access_log'
  97. ;
  98. -- 该表存储表/视图的属性信息。
  99. SELECT * FROM TABLE_PARAMS WHERE TBL_ID = 66
  100. -- 该表存储表/视图的授权信息
  101. SELECT * FROM TBL_PRIVS WHERE TBL_ID = 66