更新时间:2024-10-28 GMT+08:00

使用Hive异常文件定位定界工具

操作场景

由于某些异常操作或者磁盘损坏等原因导致Hive存储的数据文件出现异常,异常的数据文件会导致任务运行失败或者数据结果不正确。

该工具用于对常见的非文本类的数据文件格式进行异常排查。

该章节内容仅适用MRS 3.2.0及之后版本。

操作步骤

  1. 使用omm用户登录安装了Hive服务的节点,执行以下命令进入Hive安装目录。

    cd ${BIGDATA_HOME}/FusionInsight_HD_*/install/FusionInsight-Hive-*/hive-*/bin

  2. Hive异常文件定位定界工具使用方式如下:

    sh hive_parser_file.sh [--help] <filetype> <command> <input-file|input-directory>

    相关参数说明如表1所示:

    注意:一次只能运行一个命令。

    表1 参数说明

    参数

    描述

    说明

    filetype

    指定当前工具要解析哪种格式的数据文件,目前仅支持orc、rc(RCFile)、parquet三种格式。

    rc格式目前只支持查看数据。

    -c

    打印当前元信息中列的信息。

    列信息包含类名、类型、序号。

    -d

    打印数据文件中的数据,可通过“'limit=x'”限制数据量。

    数据为当前指定的数据文件内容,通过limit限制数据量时一次只能指定一个数据量大小。

    -t

    打印写入数据的时区。

    打印此文件写入时区。

    -h

    使用帮助格式化说明。

    帮助。

    -m

    各存储格式的统计信息输出。

    各存储格式不一样,例如orc会打印含strip、块大小等统计信息。

    -a

    完整信息详情打印输出。

    输出完整信息详情,包含以上参数内容。

    input-file

    输入数据文件。

    指定输入的文件或者输入的目录,输入的目录中如果存在当前格式则解析,如果不存在则跳过。可以指定本地文件或者目录,也可以指定HDFS/OBS文件或者目录。

    input-directory

    输入数据文件所在的目录,子文件多个的情况下使用。

  3. 例如,执行以下命令排查orc文件“hdfs://hacluster/user/hive/warehouse/orc_test”中的异常数据:

    sh hive_parser_file.sh orc -d limit=100 hdfs://hacluster/user/hive/warehouse/orc_test

    如果不带类似“hdfs://hacluster”的文件存储前缀 ,默认读取本地文件。