从CSV文件导入Hive出现中文乱码问题解决

2023-11-01

关于HIVE中文乱码问题的解决办法,网上有很多帖子,然而很多都是基于LINUX终端显示字符的修改,其实上对于一些条件下的HIVE中文乱码问题是无法解决的,如从CSV文件导入到HIVE中出现的中文乱码问题。


大家都知道,HIVE原生的字符编码是采用UTF-8方式的,这是支持中文的。然而在从ORACLE导出CSV文件,注入到HIVE表中的时候,就发现输入时出现中文乱码。按照HIVE中文乱码的解决思路(基于系统字符编码的修改方式)总是没有成功。


后来考虑到HIVE将数据是存放在HDFS上的,并以序列化的方式存在,因此应该考虑HDFS中文乱码的问题,这一查,资料还不少。也看到了核心的问题所在: hadoop涉及输出文本的默认输出编码统一用没有BOM的UTF-8的形式但是对于中文的输出window系统默认的是GBK,有些格式文件例如CSV格式的文件用excel打开输出编码为没有BOM的UTF-8文件时,输出的结果为乱码,只能由UE或者记事本打开才能正常显示。因此将hadoop默认输出编码更改为GBK成为非常常见的需求。 

考虑到这个问题,于是想着在HIVE中序列化的时候需要指定一下字符编码,终于找到相关的解决思路,这是HIVE issue解决办法中找到的。https://issues.apache.org/jira/browse/HIVE-7142。


依照这个文档的说明,对指定的表进行设置,即设置序列化编码为GBK,以WINDOW拷贝导入的数据编码相匹配。

ALTER TABLE ** SET SERDEPROPERTIES ('serialization.encoding'='GBK'); 
通过这样设置,果然实现一直困扰多时的HIVE中文乱码问题。



转自:http://blog.csdn.net/sparkexpert/article/details/50277259

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从CSV文件导入Hive出现中文乱码问题解决 的相关文章

  • Unity 屏幕自适应之锚点

    大家有没有这样的情况 自己在使用 Unity 制作 UI 界面时明明设计好了各个图标的大小 但是在实际运行时却出现了问题 原本场景里面是这样 最大化运行后是这样的 是不是不太好看 和自己当初设定的完全不一样 没事 小问题 那么我们该如何解决
  • 定制自己的printf函数——以stm32串口打印为例

    printf这个函数相信学习过编程的人应该都用过 这是一个用来向终端打印数据的函数 这个函数不仅在调试软件代码的时候经常有使用 单片机开发时也经常用于串口打印调试 所以 在此就如何让单片机使用printf来调试代码 开始接下来的学习 在此
  • .NET基础知识快速通关(8)

    NET 总结 Edison Zhou 此系列文章为我在2015年发布于博客园的 NET基础拾遗系列 它十分适合初中级 NET开发工程师在面试前进行一个系统的复习 因此我将其搬到公众号分享与你 本文为第八篇 我们会对 NET的委托相关考点进行
  • Mysql查询当天,本周,本月所有数据记录

    Mysql查询当天 本周 本月所有数据记录 一 查询当天的记录 select from create time where TO DAYS create time TO DAYS NOW 注意 这里的create time是数据库中的时间字
  • centos6安装python2.7

    下载python安装包 1 wget https www python org ftp python 2 7 12 Python 2 7 12 tgz 2 tar zxvf Pyhon 2 7 12 tgz 3 cd Python 2 7
  • 创建src目录

    在一个功能包里单独创建src目录可以先进入这个功能包 然后使用命令 mkdir src 然后使用命令 ls 发现功能包里有了src 还有一种就是在要创建的目录名前面加上路径名 则会在指定的路径名下创建的src 同时要确保这个路径下没有要创建
  • js 去除字符串首尾指定字符

    abc trim abc 这是去除首尾空格的办法 那么有没办法去除首尾指定的字符 肯定有 方法很多 下面通过正则表达式实现 例如 我想去掉首尾逗号 let str abc cde fff str str replace s s g 结果 a
  • ESP32S3学习——i2c,点亮0.96寸oled

    芯片 esp32s3 开发环境 espidfv4 4 一 官网相关资料 哎嘿嘿 中文的I2C 驱动程序 ESP32 S3 ESP IDF 编程指南 v4 4 2 文档 1 概述 ESP32 S3 有两个 I2C 控制器 也称为端口 负责处理
  • 使用CFimagehost源码搭建免费的PHP图片托管私人图床,无需数据库支持

    文章目录 1 前言 2 CFImagehost网站搭建 2 1 CFImagehost下载和安装 2 2 CFImagehost网页测试 2 3 cpolar的安装和注册 3 本地网页发布 3 1 Cpolar临时数据隧道 3 2 Cpol
  • 【android12-linux-5.1】【ST芯片】【RK3588】【LSM6DSR】驱动移植

    一 环境介绍 RK3588主板搭载Android12操作系统 内核是Linux5 10 使用ST的六轴传感器LSM6DSR芯片 二 芯片介绍 LSM6DSR是一款加速度和角速度 陀螺仪 六轴传感器 还内置了一个温度传感器 该芯片可以选择I2
  • SAP 账号人员信息

    视图USER ADDR 转载于 https www cnblogs com CtrlS p 10482779 html
  • Python中的网络通信

    概述 在我们平时生活工作中 常常会接触到网络通信的内容 不管你是普通的用户 还是通信行业内的开发人员 都无法避免与网络通信打交道 我在初步学习python的过程中 对python的网络通信问题做了总结 所以写下这篇文章作为记录 也希望能给其
  • JVM 内存分析工具 - MAT

    文章目录 1 简介 2 使用 2 1 准备 MAT 2 2 准备堆转储文件 Heap Dump 2 3 分析堆转储文件 2 3 1 Histogram 2 3 2 Leak Suspects 2 3 3 内存快照对比 MAT Memory
  • python span函数_如何使用python selenium单击span元素

    我不知道还有没有其他的元素 您可以使用css选择器选择范围 driver find element by css selector span click 我认为这是你代码中唯一的跨度标记 可能不是 作为一个非常 散弹枪 的解决方案 您可以单
  • 秒杀系统的设计和思考

    秒杀系统的难点 首先我们先看下秒杀场景的难点到底在哪 在秒杀场景中最大的问题在于容易产生大并发请求 产生超卖现象和性能问题 下面我们分别分析下下面这三个问题 1 瞬时大并发 一提到秒杀系统给人最深刻的印象是超大的瞬时并发 这时你可以联想到小
  • 【面试题】面试问红黑树,我脸都绿了。。

    https mp weixin qq com s biz MzI3ODcxMzQzMw mid 2247491467 idx 2 sn 1eb11dbfb7b72fdcf0360e06448c4cfc chksm eb539abddc241
  • 如何解决:Mac 进不去JetBrains官网 Mac 打不开 idea/webstorm/PyCharm官方网站

    问题需求 Mac 进不去 Idea Webstorm PyCharm 官网 即JetBrains官方网站 只要进入 www jetbrains com 就提示 Safari Can t Connect to the Server 即 Saf
  • NEON简单介绍

    ARM Advanced SIMD nick named NEON it provides 1 A set of interesting scalar vectorinstructions and registers the latter
  • Mysql8官方分布式数据库MGR最佳实践

    MGR简介 MGR是mysql Group Replication简称 中文名称是Mysql组复制 MGR是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案 提供了高可用 高扩展 高可靠的MySQL集群服务 目前只支
  • flutter 圆角裁剪

    需求 高宽 为40 圆角度20 1 先实现高宽40方形 创建 Container 设置 width 40 height 40 如果需要颜色 自行在 color设置 2 设置圆角度 使用Physicalmodel方式 需要设置 color b

随机推荐

  • Python日期格式处理

    数据分析工作中 Python和SQL是常用的两大工具 常见的数据类型有数值型 字符串型 日期型等 对日期型格式进行处理也是比较常见的情形 文章SQL中日期格式处理记录了SQL针对日期型字段的处理过程 本文记录Python对日期型数据的处理
  • Linux 下创建新用户并且添加为root组用户

    1 创建用户及设置密码 创建用户名 useradd test 设置密码 passwd test 输入两次密码 test 2 给新用户授root权限 1 chmod v u w etc sudoers 增加 sudoers 文件的写的权限 默
  • 有关StandardScaler的transform和fit_transform方法

    背景 StandardScaler类是一个用来讲数据进行归一化和标准化的类 所谓归一化和标准化 即应用下列公式 使得新的X数据集方差为1 均值为0 问题一 StandardScaler类中transform和fit transform方法有
  • OpenCV中利用knn进行数字(0-9)识别--RGB-D相机采集

    目录 前言 一 KNN原理 二 数字识别系统效果演示 三 数字识别系统 1 图像采集 2 阈值分割 定位数字区域 3 轮廓特征分析 定位数字区域 4 数字轮廓提取 5 扩充边界并归一化其尺寸 6 训练数据集并预测测试样本 总结 前言 本章使
  • Google Cloud API设计指南

    目录 一 基于资源的设计 什么是 REST API 设计流程 资源 方法 示例 Gmail API Cloud Pub Sub API Cloud Spanner API 二 资源名称 完整资源名称 相对资源名称 资源 ID 集合 ID 资
  • 牛客:华为机试---人民币转换

    1 题目描述 考试题目和要点 1 中文大写金额数字前应标明 人民币 字样 中文大写金额数字应用壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万 亿 元 角 分 零 整等字样填写 30分 2 中文大写金额数字到 元 为止的 在 元 之后 应
  • ubuntu18 安装gcc 9遇到add-apt-repository: command not found

    sudo add apt repository ppa ubuntu toolchain r test 执行上面命令遇到add apt repository command not found问题 尝试了各种方法 发现下面方法最有用 依次执
  • Makefile 中的几种 等号

    在Makefile中我们经常看到 这几个赋值运算符 那么他们有什么区别呢 我们来做个简单的实验 新建一个Makefile 内容为 ifdef DEFINE VRE VRE Hello World else endif ifeq OPT de
  • 《HRNet-OCR:Object-Contextual Representations for Semantic Segmentation》论文笔记

    参考代码 HRNet OCR 1 概述 导读 这篇文章研究了语义分割中上下文信息的提取与表达 其方法设计的灵感来自于 分割中一个像素的label是其对应目标 object 的类别 那么基于此文章便是通过不同object区域的表达去关联并表达
  • spring-security--基础--5.1--ACL--介绍

    spring security 基础 5 1 ACL 介绍 代码位置 https gitee com DanShenGuiZu learnDemo tree master spring security learn 1 介绍 ACL 访问控
  • JDBC(数据库连接)——url写法

    JDBC的URL 协议名 子协议名 数据源名 协议名 总是 jdbc 子协议名 数据库类型协议 数据源名 用户 数据库名等信息 常见的数据库连接 oracle 驱动 oracle jdbc driver OracleDriver URL j
  • 解析智能扫地机器人中蕴含的情感元素

    在新一轮新冠疫情爆发后 大众宅在家的时候也变多起来 对于居家清洁的需求也越来越旺盛 人们希望可以从日常的繁琐的家务中解放出来 其中智能扫地机器人就占有一席之地 在市场需求持续走高的催生下 技术也在不断革新换代 根据数据显示 2021年前11
  • js数组处理方法总结slice、join、filter、map、indexOf、reduce、reduceRight等

    归纳总结数组的处理方法如下 1 splice 功能 1 删除 从数组中删除元素 两个参数 第一个参数 要删除元素的起始位置 第二个参数 要删除的项数 2 添加 插入元素到数组中 三个参数 第一个参数 起始位置 第二个参数 0 第三个参数 插
  • 【论文速递】TPAMI2022 - 自蒸馏:迈向高效紧凑的神经网络

    论文速递 TPAMI2022 自蒸馏 迈向高效紧凑的神经网络 论文原文 Self Distillation Towards Efficient and Compact Neural Networks 获取地址 https ieeexplor
  • virsh help domain命令内容解析

    简介 这段时间学习热迁移 要不断的在qemu monitor和libvirt中调转使用命令 故整理virsh命令 这篇是第一篇 整理virsh help domain相关内容 span style color 656565 span sty
  • 相约清华!AI药物研发大赛总决赛明日开幕

    2022年 百度飞桨联合清华大学药学院 筹备建设 AI 药学 产学研融合创新基地 推出了一系列AI 生物计算前沿课程和人才培养计划 今年5月 百度飞桨联合清华大学药学院 百度智能云和临港实验室 共同发起了首届全球AI药物研发算法大赛 并得到
  • mac如何卸载python2.7_mac python环境的安装与卸载

    换电脑之前并没有了解很多mac 所以习惯性的安装软件都是官网或者appstore下载来安装的 so 我下载了python2 7 并安装了 后来学习的视频是3 6的版本 又下载的3 6的版本来安装 过程中知道自带python2 7版本 也看到
  • 踩坑系列—mybatis查询没有数据时返回的list是null还是空集合?

    场景 根据多个条件查询 返回list集合数据 代码 第1步 根据页面多个条件查询 List list userDao queryOrders queryParams if null list return null 第2步 有数据再追加其他
  • Photoshop 通道讲解

    我常常问我的学生 什么是Photoshop最重要 不可或缺的功能 很多人的回答是图层 Layer 其实在Photoshop3 0之前根本没有图层的功能 在Photoshop的领域中 最重要的功能是选取范围 正确的运用选取范围 才能够做出精准
  • 从CSV文件导入Hive出现中文乱码问题解决

    关于HIVE中文乱码问题的解决办法 网上有很多帖子 然而很多都是基于LINUX终端显示字符的修改 其实上对于一些条件下的HIVE中文乱码问题是无法解决的 如从CSV文件导入到HIVE中出现的中文乱码问题 大家都知道 HIVE原生的字符编码是