当前位置: 首页 > news >正文

实用指南:聊聊关于hive“中文乱码”问题

项目场景

我是基于docker搭建的大数据集群,用的是rockylinux8作为基础镜像。目前是在做迁移数据的工作,我们有一些csv数据,然后要放到hive里面去管理。


问题描述

本来呢我觉得挺简单的不就是把csv导入到hive中吗,我就欻欻欻写了一个脚本,把所有的csv数据上传到hdfs上了,然后我就在hive中建表,把表映射到hdfs路径,这不就完事了。当我做完以后,我写一了一个非常简单的查询,发现查询结果为0,然后我看有数据呀,不应该是这个结果,我就去看我的条件,然后看这个数据,妈呀中文全是乱码,然后我又发现这些数据加载进来每个数据都带有双引号,瞬间人麻了。然后我就开始解决,先解决的是数据带双引号的问题,然后解决的中文乱码。

解决数据携带双引号

使用load命令将csv文件加载到Hive表后,数据都带有双引号,因为Hive在加载数据时,将双引号视为字段值的一部分,没有自动识别过滤掉它们。
核心原因在于Hive默认的序列化/反序列化工具(LazySimpleSerDe)并不自动处理字段引号。严格按照您指定的分隔符(我这里是逗号)来拆分字段,并将所有字符(包括引号)都视为字段内容。
使用OpencCSVSerde解决:

ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = ",",  -- 指定分隔符为逗号
"quoteChar"     = "\""  -- 指定引号字符为双引号
)
STORED AS TEXTFILE;

解决数据中文乱码

对于hive中可能导致中文乱码的原因有很多种,简单说一说我自己知道的

  1. 如果hive的元数据库在mysql存放,那么元数据库要设置支持中文
    alter table metastore.COLUMNS_V2
http://www.jsqmd.com/news/72980/

相关文章:

  • 哪些厂家做自动滴定仪/cod分析仪,哪些企业生产自动滴定仪/cod分析仪,哪个厂家/企业定制 - 品牌推荐大师1
  • 必看!2025年高质量高倍率应急启动电源厂家推荐榜 - 讯息观点
  • [曼奇] 基础班 第62节 73头像4
  • 12.11晚课
  • 12月10日总结 - 作业----
  • 12月11日总结 - 作业----
  • 神经科学家探索人脑启发式机器学习
  • 详细介绍:Redis 零基础入门到实战教程(视频教程)
  • 别再当韭菜充会员了:这 5个免费神器好用到哭,直接干翻同类付费版
  • 2025年零经验开启漏洞赏金狩猎:好奇心和坚持就是你的超能力
  • 云原生可观测性开源最佳实践(轻量实操版)
  • 必看!2025年修补防水涂料销售厂家TOP3推荐榜 - 讯息观点
  • 2025年极简护眼吸顶灯怎么选择才不踩雷? - 讯息观点
  • 2025杭州导演艺考机构哪家靠谱?杭州印象艺考好吗? - 栗子测评
  • 详细介绍:硅基计划6.0 柒 JavaEE 浅谈JVMGC垃圾回收
  • 2025内部孔隙率检测公司选哪家?这8家专业机构值得关注 - 栗子测评
  • 2025年微孔板离心机国内知名厂家有哪些厂家生产厂家推荐品牌推荐,微孔板离心机96孔板生产厂家推荐 - 品牌推荐大师1
  • laya列表时计算具体体子项是列表中第几个
  • Claude自动调用Skills解析xlsx文件
  • MySQL 性能和变量调整 - 详解
  • 2025年12月工业气体报警器十大生产厂家推荐,谁家实力强?哪家质量好?哪个牌子好? - 品牌推荐大师
  • 2025 最新高山杜鹃鲜花基地TOP5 评测!聚焦国内云南等地优质鲜花厂家,科技赋能+品种创新权威榜单发布,云南花卉产业标杆引领行业升级 - 全局中转站
  • 对“挑战”的元回应:从“解决难题”到“演化生态”
  • 【转载】Qt中QStyledItemDelegate的使用(二)
  • GitHub 热榜方案 - 日榜(2025-10-26)
  • 2025年台式高速离心机/土壤/微型/微孔板/高速冷冻离心机国内知名厂家/有哪些厂家/哪家性价比 - 品牌推荐大师1
  • 2025年国内离心机靠谱厂家推荐,国内离心机十大品牌,行业十大厂家,国内离心机生产商推荐 - 品牌推荐大师1
  • 2025年如何选择排名前列的泵送剂外加剂品牌厂家? - 讯息观点
  • Meta闭源模型vocado、Google Gemini TTS情绪语音、微软智能体新高度
  • 什么?全面解析机器人流程自动化的定义与核心概念就是RPA