Kylin元数据及存储管理

001_Kylin元数据及存储管理


一、元数据管理

  • 查看实际参与与计算的Cuboid
./bin/kylin.sh org.apache.kylin.engine.mr.common.CubeStatsReader ${CUBE_NAME}

1、元数据路径

  • Kylin使用 resource root path + resource name + resource suffix 作为key值(HBase中的rowkey)来存储元数据。
Resource root pathresource nameresource suffix
/cube/cube name.json
/cube_desc/cube name.json
/cube_statistics/cube name/uuid.seq
/model_desc/model name.json
/dict/DATABASE.TABLE/COLUMN/uuid.dict
/project/project name.json
/table_snapshot/DATABASE.TABLE/uuid.snapshot
/table/DATABASE.TABLE–project name.json
/table_exd/DATABASE.TABLE–project name.json
/execute/job id
/execute_output/job id-step index
/kafka/DATABASE.TABLE.json
/streaming/DATABASE.TABLE.json
/user/user name

2、查看原数据

  • Kylin以二进制字节的格式将元数据存储在HBase中,查看元数据可运行如下命令:
  1. 查看所有元数据
./bin/metastore.sh list /path/to/store/metadata
  1. 查看某个实体数据
./bin/metastore.sh cat /path/to/store/entity/metadata

3、备份元数据

  1. 全量备份
./bin/metastore.sh backup
  • 元数据将被分到 KYLIN_HOME/metadata_backps 下,它的命名规则使用了当前时间作为参数:KYLIN_HOME/meta_backups/meta_year_month_day_hour_minute_second
  1. 选择备份
# 获取所有的cube desc元数据
./bin/metastore.sh fetch /cube_desc/

# 导出单个cube desc的元数据
./bin/metastore.sh fetch /cube_desc/${CUBE_NAME}.json

4、恢复原数据

  1. 重置元数据

    此操作会清理HBase上所有的元数据,慎重操作并提前做好备份!!!

./bin/metastore.sh reset
  1. 上传备份的元数据到 Kylin 的 metadata store
./bin/metastore.sh restore ${KYLIN_HOME}/meta_backups/meta_xxxx_xx_xx_xx_xx_xx
  1. 单击 Web UI 上 System 面板下 Reload Metadata 按钮刷新缓存

5、有选择地恢复元数据(推荐)

  1. 创建新的存储路径,根据要还原的元数据文件的位置在其中创建子目录
  • 可参考前面的元数据路径
  1. 将要恢复的元数据复制到新路径下,手动修改元数据
  2. 从新路径恢复元数据,此时只有该路径下的文件才会上传到元数据库
./bin/metastore.sh restore /path/to/restore_new
  1. 单击 Web UI 上 System 面板下 Reload Metadata 按钮刷新缓存

5、清理无用元数据

  1. 检查元数据
# 此命令不会删除任何数据
# jobThreshold参数可以设定要保留的元数据天数,默认30
./bin/metastore.sh clean --jobThreshold 30
  1. 清理元数据(记得先备份)
# 添加--delete true参数确认删除
./bin/metastore.sh clean --delete true --jobThreshold 30

二、存储管理

  • Kylin 在构建 cube 期间会产生 Hive 中间表,也会在 HDFS 上生成中间文件;除此之外,当清理/删除/合并 cube 时,一些 HBase 表可能被遗留在 HBase 却再也不会被查询;可以定期做离线的存储清理确保这些数据不会影响系统性能
  1. 检查可清理的资源
# 此命令不会删除任何数据
./bin/kylin.sh org.apache.kylin.tool.StorageCleanupJob --delete false
  1. 删除上述资源
# 修改delete参数为true确认删除
./bin/kylin.sh org.apache.kylin.tool.StorageCleanupJob --delete true
  • 完成后,Hive 里的中间表, HDFS 上的中间文件及 HBase 中的 HTables 都会被移除
  1. 删除所有资源
# 添加--force true参数删除全部数据
./bin/kylin.sh org.apache.kylin.tool.StorageCleanupJob \
--force true --delete true
  • 完成后,Hive 中所有的中间表, HDFS 上所有的中间文件及 HBase 中的 HTables 都会被移除
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值