MAPREDUCE服务 MRS-JSON表中有破损数据导致Hive查询异常:处理步骤
处理步骤
- 下载json-serde-1.3.8-jar-with-dependencies.jar到本地,并将该Jar上传到所有的HiveServer所在节点。
- 以客户端安装用户,登录1上传了Jar包并且安装了Hive和HDFS客户端的节点。
- 执行以下命令认证用户。
cd 客户端安装目录
source bigdata_env
kinit 具有Hive管理员权限的用户(未开启Kerberos认证的集群跳过此操作)
- 执行以下命令在HDFS上创建Jar包存放目录。
hdfs dfs -mkdir Jar包存放在hdfs中的路径
- 执行以下命令将2的Jar上传至HDFS中。
hdfs dfs -put Jar包存放路径 Jar包存放在hdfs中的路径
- 执行以下命令让Hive在执行命令行任务时加载指定Jar包。
beeline
set role admin;(未开启Kerberos认证的集群跳过此操作)
add jar Jar包存放在hdfs中的路径;
- 执行以下命令重新创建表:
create external table if not exists test (
name string
)
row format serde 'org.openx.data.jsonserde.JsonSerDe'
stored as textfile
location 'hdfs://hacluster/user/hive/warehouse/database/table/jsondata';
- 执行以下命令修改表属性忽略破损的JSON数据:
ALTER TABLE test SET SERDEPROPERTIES( "ignore.malformed.json" = "true");
设置该属性后,查询表时若表中有破损的JSON数据默认显示为“NULL”。
- 执行以下命令查询表数据:
select * from test;
数据查询成功则表示已忽略破损的JSON数据,其中,破损的JSON数据显示为“NULL”:
- MapReduce服务_什么是Hive_如何使用Hive
- MRS备份恢复_MapReduce备份_数据备份
- MapReduce服务_什么是Loader_如何使用Loader
- GaussDB查询库表_GaussDB查询数据库表_高斯数据库查询库表-华为云
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- MapReduce服务_什么是HetuEngine_如何使用HetuEngine
- GaussDB查询表结构_通配符字段查询表_高斯数据库查询表结构-华为云
- MapReduce服务_什么是Hue_如何使用Hue
- 什么是Spark_如何使用Spark_Spark的功能是什么