DataGrip:csv文件导出到hive出现中文乱码

DataGrip:csv文件导出到hive出现中文乱码

出现原因:csv文件的编码格式不是utf-8 

解决步骤:

1:转换CSV文件的编码
将CSV文件的编码从GBK转换为UTF-8。你可以使用iconv命令(在Linux环境下)、文本编辑器(如Notepad++、VS Code等,它们支持编码转换)或编写一个简单的Python脚本来完成这一任务。

使用iconv的命令示例:

 sudo iconv -f GBK -t UTF-8 "GBK文件路径.csv" -o "转换后的文件路径.csv";

tips:如果在你的系统中没有iconv命令,你可以通过以下几种方法来安装它,具体取决于你的操作系统:对于Linux系统使用包管理器安装

    • 在大多数Linux发行版中,iconv通常是作为libc6-devglibc-devel等包的一部分安装的。你可以使用系统的包管理器来安装它。
      • 对于基于Debian的系统(如Ubuntu),你可以使用apt-get
        sudo apt-get update
        sudo apt-get install libc6-dev
      • 对于基于RPM的系统(如CentOS、Fedora),你可以使用yum(CentOS 7及之前版本)或dnf(Fedora和CentOS 8及更高版本):

        解释

        sudo yum install glibc-devel # CentOS 7及之前
        # 或者
        sudo dnf install glibc-devel # Fedora和CentOS 8及更高版本
      • 对于Arch Linux,你可以使用pacman
        sudo pacman -S glibc
  1. 将文件上传到hdfs 
Hadoop fs -put input路径 output路径

     3.在hive中建表

create table `表名`
(
    列名   类型,
    
)row format delimited
fields terminated by ','//用,隔开
lines terminated by '\n'//用换行隔开
stored as textfile //存储成textfile
TBLPROPERTIES ("serialization.encoding"="UTF-8"); //编码格式为utf-8

4、并将csv文件上传到hive 

LOAD DATA INPATH '路径.csv' OVERWRITE INTO TABLE 表名 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值