Hive 资源发现

该文档描述了云迁移中心CMH的Hive调研服务的使用过程,通过这篇文档,将带您使用我们的工具hive-scanner,并且一步步完成hive的迁移对象发现。

环境检查

在您执行 hive-scanner 之前,您需要提前完成前期的hive调研工具准备

确保当前您工具服务器的工作目录如下:

|-hive-scanner/
            |-application.yml
            |-hms-data-scan-0.0.1-SNAPSHOT.jar
            |-start.sh

工具执行

1、编辑application.yml 配置文件 修改 url、username、password、exportFilePath、HiveServerIp 五个参数

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
   
  url: jdbc:mysql://******:3306/db #替换为hive metastore db 的数据库地址
    username: username #数据库用户名
    password: password #登录密码 

scan:
  
 exportFilePath: cmh-meta-data.json #统计数据输出的文件名
  hiveServerIp: 120.77.*.*  # hive ip地址 

logging:
  level:
    root: info #日志输出级别

2、工具执行

准备好一切后,您可以通过在命令行执行如下命令进行调研,并且在本地初步分析调研结果。

sh  start.sh

您成功执行后可以查看下目前产出的hms-scan.log:

hive-scaner.log

本地分析

当成功执行完成工具后,会在输出目录输出xxx.json文件

其中打开 xxx.json文件可以看到资源的总览以及top资源对象清单。

{
    "url": "hive ip",
    "hiveVersion": "hive版本号",
    "hiveMetaDbStatList": [ // 按库统计资源列表
        {
            "transactionalTableNum": "事务表数量",
            "externalTableNum": "外部表数量",
            "dbName": "数据库名",
            "dbSize": "库大小",
            "functionNum": "函数数量",
            "tableNum": "表总数",
            "source": "资源名:ip/库名",
            "partitionTableNum": "分区表数量",
            "viewTableNum": "视图表数量",
            "top10PartBySize": [ // 按size 前10分区
                {
                    "partName": "表名.分区名",
                    "totalSize": "分区大小"
                }
            ],
            "top10TableBySize": [ // 按size前10表
                {
                    "tblName": "表名",
                    "totalSize": "表大小"
                }
            ],
            "top10TableByPartNum": [ // 按分区数前10表
                {
                    "tblName": "表名",
                    "partitionNum": "分区数"
                }
            ]
        }
    ]  
}

上传分析

在确认本地数据无误后,您可以将对应的序列化文件上传到云迁移中心(CMH)的控制台中。

路径:控制台->发现->调研工具->Hive采集->上传 (传送门

在完成导入后您可以在平台上查看导入任务,点击导入任务后可以在线查看导入的资源,确认无误后可以点击“资源确认”将资源导入到CMH的资源列表中。