当前位置: 首页 > 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.dtcms.com/a/596285.html

相关文章:

  • 一般建设网站需要多少预算酷站 网站
  • ASP.NET 实战:用 CSS 选择器打造一个可搜索、响应式的书籍管理系统
  • 消息队列防止数据丢失问题
  • Spring Cloud Bus 事件广播机制
  • 广州巨腾建网站公司郑州网站app开发
  • 银河麒麟服务器安装图形化界面
  • 【源码+文档+调试讲解】基于Spring Boot的考务管理系统设计与实现 085
  • LeetCode 421 - 数组中两个数的最大异或值
  • 【笔记】xFormers版本与PyTorch、CUDA对应关系及正确安装方法详解
  • 【GitHub每日速递 20251111】PyTorch:GPU加速、动态网络,深度学习平台的不二之选!
  • 多产品的网站怎么做seo做音乐网站之前的准备
  • 网站如何做h5动态页面设计万网备案初审过了后网站能访问吗
  • centos运维常用命令
  • 在CentOS 7.6系统中找回或重置 root 密码
  • 濮阳团购网站建设手机网站模板psd
  • 基于Spring Boot的电子犬证管理系统设计与实现
  • Spring Boot 中的定时任务:从基础调度到高可用实践
  • 家装设计师网站wordpress小清新模板
  • 用WordPress制作单页相城seo网站优化软件
  • wordpress主题wpmee江门网站优化排名
  • 淮安设计网站苏州网站建设相关技术
  • 公司的网站开发费计入什么科目济南传承网络李聪
  • 营销类型的公司网站物联网平台功能
  • 做网站设计都需要什么杭州建设信息网
  • 惠州网站设计哪家好网站内的搜索怎么做的
  • 网站域名使用费用上海十大猎头公司排名
  • 网站建站程序wordpress salient
  • 舞蹈网站模板权威做网站的公司
  • 互联网 创新创业大赛seo推广培训中心
  • 广西网站建设-好发信息网建设银行网站e动终端