使用Hive异常文件定位定界工具
操作场景
由于某些异常操作或者磁盘损坏等原因导致Hive存储的数据文件出现异常,异常的数据文件会导致任务运行失败或者数据结果不正确。
该章节内容仅适用MRS 3.2.0及之后版本。
操作步骤
- 使用omm用户登录安装了Hive服务的节点,执行以下命令进入Hive安装目录。
cd ${BIGDATA_HOME}/FusionInsight_HD_*/install/FusionInsight-Hive-*/hive-*/bin
- 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
输入数据文件所在的目录,子文件多个的情况下使用。
- 例如,执行以下命令排查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”的文件存储前缀 ,默认读取本地文件。