Hive 解决中文分区问题 Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for

Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operat 在MySQL中,如果你在创建数据库或者表的时候没有指定collation,那么MySQL会使用默认的collation。对于字符串字段(CHAR, VARCHAR, TEXT),如果没有指定collation,MySQL也会使用默认的collation。我们有两张表,Table_1 和 Table_2,方法1. 统一表的编码格式。编码格式不一致的错误。 阅读详情

Hive 中文分区

初学Hive。在创建动态分区的时候。报错。

Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’

执行SQL为:

INSERT INTO TABLE test_company PARTITION (p_province) SELECT
    company_id,
    province,
    company_name,
    ... , 
    Clicks,
    province
FROM
    landing.test_company
LIMIT 10;

报错信息为:

java.sql.SQLException: Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

解决问题心历路程:

0. 怀疑是编码问题

改了编码。。但是没改全。。。
结果:依然报相同错误。

1. 怀疑数据源的乱码问题

刚开始使用了两个分区字段,改为了一个。

结果:不是根本问题。依然报错。

2. 使用数字分区

结果:通过。

3. 使用静态分区

执行SQL为:

alter table test_company add partition (p_province='北京市');

结果:依然相同错误

4. 找到改数据库所有编码的脚本。。

结果:问题解决。OVER。

这个神脚本我整理一下:
alter database hive default character set utf8;

alter table BUCKETING_COLS default character set utf8;

alter table CDS default character set utf8;

alter table COLUMNS_V2 default character set utf8;

alter table DATABASE_PARAMS default character set utf8;

alter table DBS default character set utf8;

alter table FUNCS default character set utf8;

alter table FUNC_RU default character set utf8;

alter table GLOBAL_PRIVS default character set utf8;

alter table PARTITIONS default character set utf8;

alter table PARTITION_KEYS default character set utf8;

alter table PARTITION_KEY_VALS default character set utf8;

alter table PARTITION_PARAMS default character set utf8;

alter table PART_COL_STATS default character set utf8;

alter table ROLES default character set utf8;

alter table SDS default character set utf8;

alter table SD_PARAMS default character set utf8;

alter table SEQUENCE_TABLE default character set utf8;

alter table SERDES default character set utf8;

alter table SERDE_PARAMS default character set utf8;

alter table SKEWED_COL_NAMES default character set utf8;

alter table SKEWED_COL_VALUE_LOC_MAP default character set utf8;

alter table SKEWED_STRING_LIST default character set utf8;

alter table SKEWED_STRING_LIST_VALUES default character set utf8;

alter table SKEWED_VALUES default character set utf8;

alter table SORT_COLS default character set utf8;

alter table TABLE_PARAMS default character set utf8;

alter table TAB_COL_STATS default character set utf8;

alter table TBLS default character set utf8;

alter table VERSION default character set utf8;

alter table BUCKETING_COLS convert to character set utf8;

alter table CDS convert to character set utf8;

alter table COLUMNS_V2 convert to character set utf8;

alter table DATABASE_PARAMS convert to character set utf8;

alter table DBS convert to character set utf8;

alter table FUNCS convert to character set utf8;

alter table FUNC_RU convert to character set utf8;

alter table GLOBAL_PRIVS convert to character set utf8;

alter table PARTITIONS convert to character set utf8;

alter table PARTITION_KEYS convert to character set utf8;

alter table PARTITION_KEY_VALS convert to character set utf8;

alter table PARTITION_PARAMS convert to character set utf8;

alter table PART_COL_STATS convert to character set utf8;

alter table ROLES convert to character set utf8;

alter table SDS convert to character set utf8;

alter table SD_PARAMS convert to character set utf8;

alter table SEQUENCE_TABLE convert to character set utf8;

alter table SERDES convert to character set utf8;

alter table SERDE_PARAMS convert to character set utf8;

alter table SKEWED_COL_NAMES convert to character set utf8;

alter table SKEWED_COL_VALUE_LOC_MAP convert to character set utf8;

alter table SKEWED_STRING_LIST convert to character set utf8;

alter table SKEWED_STRING_LIST_VALUES convert to character set utf8;

alter table SKEWED_VALUES convert to character set utf8;

alter table SORT_COLS convert to character set utf8;

alter table TABLE_PARAMS convert to character set utf8;

alter table TAB_COL_STATS convert to character set utf8;

alter table TBLS convert to character set utf8;

alter table VERSION convert to character set utf8;

alter table PART_COL_STATS convert to character set utf8;

SET character_set_client = utf8 ;

SET character_set_connection = utf8 ; 


alter table PART_COL_STATS convert to character set utf8;

SET character_set_database = utf8 ; 

SET character_set_results = utf8 ; 

SET character_set_server = utf8 ; 

SET collation_connection = utf8 ; 

SET collation_database = utf8 ; 

SET collation_server = utf8 ; 

SET NAMES ‘utf8’; 
SET NAMES 'utf8';

Query OK, 0 rows affected (0.00 sec)

如果你们执行脚本还是解决不了。那你们解决方案能在下面留言一下不。。。

SQL来自于这个神贴,实在神,解决一下午的问题

【Python3教程】Python3高级篇之uWSGI 安装配置 本文介绍了在Python 3环境中安装和配置uWSGI的完整流程,涵盖基本安装、Flask/Django应用部署、Nginx集成以及systemd管理等关键环节。主要内容包括:uWSGI的安装前提条件,创建简单WSGI应用,编写uWSGI配置文件(.ini格式),与Nginx配合实现生产环境部署,以及使用systemd实现服务管理。文章还提供了常见Web框架(Flask、Django)的部署示例和高级配置建议,如负载均衡、HTTPS设置等。最后列出了权限、端口占用等常见问题的解决方案,为开发者提供了一套完整 阅读详情

相关推荐

TMS-EEG数据预处理:eeglab工具包TESA(一)

b. 自动选择:Tools -> Reject data epochs -> Reject by probability,然后进行Plot -> channel,进行删除。TMS-EEG(经颅磁刺激-脑电图)是一种结合了TMS和EEG记录的技术,这种技术允许研究者在非侵入的情况下探测大脑环路,评估大脑的兴奋性和连通性等皮层特性。对移除脉冲伪迹的数据进行插值:Tools ->TESA -> Interpolate removed data;插值后,画图查看:数据会有数值;

weixin_43604817的博客 1494

hive报错Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE)

业务发现跑hive任务总是一次成功,第二次无法找到库,需要重新进行hive,查看HiveMetaStore日志报错: 2016-05-11 11:30:32,912 ERROR [pool-3-thread-178]: metastore.RetryingHMSHandler (RetryingHMSHandler.java:invoke(155)) - Retrying HMSHandle

TURING.DT 5998

金蝶ERP元数据解析:字段属性与表结构映射实战

本文深入解析金蝶ERP元数据的核心价值与应用实践,详细介绍了字段属性与表结构映射的关键技术。通过缓存获取与工具类直连两种方案对比,结合实际案例展示元数据在数据库校验、动态表单生成等场景的应用,帮助开发者高效解决二次开发中的常见问题。

weixin_33738555的博客 433

使用 DataEase 的时候提示 “illegal mix of collations (latin1_bin implicit) and (utf8_general_ci coercible)“

使用 DataEase 的时候提示 "illegal mix of collations (latin1_bin implicit) and (utf8_general_ci coercible)" 的错误

都是自己踩过的坑的博客 468

Star CCM+ 202206 (17.04) 详细安装步骤

StarCCM+ 17.04 安装包和详细安装步骤

薛定谔的alpha狗 3万+

用Matlab搞定Delta并联机器人运动学:从建模到正逆解完整流程(附代码)

本文详细介绍了如何使用Matlab实现Delta并联机器人的运动学分析,包括几何建模、正逆解求解及可视化验证。通过符号计算和数值迭代法,解决非线性方程组问题,并提供完整代码示例,帮助读者快速掌握Delta机器人的运动学计算与应用。

weixin_30955617的博客 177

java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,C

java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’,意思是说字符编码不一样,不能进行比较,也就是说数据库内部的编码都不一样,有的数据是latin1_swedish_ci,有的数据是utf8_gen...

weixin_43564627的博客 4173

MATLAB/Simulink与ThingSpeak集成:打通物联网数据与工业算法仿真的闭环

在工业算法开发与控制系统设计中,模型仿真与真实世界数据的脱节是常见的工程挑战。其核心原理在于构建一个双向数据流闭环,将虚拟的仿真模型与物理世界的传感器网络连接起来。这一技术方案的核心价值在于大幅缩短算法迭代周期,实现数据驱动的设计与验证。典型的应用场景包括数字孪生构建、预测性维护和硬件在环(HIL)测试的云端化。通过将MATLAB/Simulink这一强大的模型化设计环境,与ThingSpeak物联网云平台进行深度集成,工程师能够轻松地将实时或历史的物联网数据流直接注入仿真模型作为输入,同时将仿真结果实时回

weixin_34220179的博客 469

解决 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)

OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'") 今天在系统里做了一个中文的检索,结果 就出现如上的错误提示,第一反应是数据库字符集的问题,那么就按照下面的步骤,一步一步来排查...

dqchouyang的专栏 6633

别再被无限debugger卡住了!Chrome DevTools实战绕过技巧(含Hook与文件替换)

本文详细介绍了如何通过Chrome DevTools绕过无限debugger封锁的实战技巧,包括Hook技术与文件替换方法。针对常见的定时器轰炸、循环陷阱和动态注入等反调试手段,提供了高效的解决方案,帮助开发者快速突破调试障碍,提升爬虫和逆向工程效率。

weixin_30326515的博客 241

储能电池管理系统介绍(一)

介绍储能BMS的架构以及各模块功能

manjixingkong1234的专栏 1916

java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,...

java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=',意思是说字符编码不一样,不能进行比较,也就是说数据库内部的编码都不一样,有的数据是latin1_swedish_ci,有的数据是utf8_gen...

weixin_30906425的博客 735

【示波器专题】示波器探头的原理深入——有源探头之差分有源探头

差分有源探头是一种特殊的有源探头,与普通单端有源探头的区别在于其前端的放大器是差分放大器。差分放大器的好处是可以直接测试高速差分信号,同时其共模抑制比高,对共模噪声的抑制能力比较好。...

一点硬件 2625

数据库执行sql时Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (utf8mb4_general_ci,COERCIBLE), (ut

Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (utf8mb4_general_ci,COERCIBLE), (utf8mb4_general_ci,COERCIBLE) for operation 'replace' 场景:由一个库往另外一个库进行数据的复制时,复制完成后的数据写入修改有问题,查询没问题,具体的报错信息是如上,当然java代码里抛出的错误也是和这个一样的: 首先百度一搜索,就是字符集的问题,执行了sql查看对比了一下,字.

qq_21687123的博客 1891

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Cause: java.sql.SQLException: Illegal mix of collations (latin1_german1_ci,IMPLICIT) and (utf8mb4_ge

最后按照idea报错的提示 把latin1字符集修改为utf8mb4_general_ci就完成了。初步判断应该是数据表的字符集与java不匹配,或者不支持。

m0_72435337的博客 402

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation

MySQL数据库插入数据时报错:Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation,主要是编码问题,本文提供修改数据库相关编码方式参考。

渣渣的夏天 1572

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE)

原因: 因为新创建的表字符集是latin1_swedish_ci,而原有的字符集需要utf8mb4_general_ci,所以报错。

徊忆羽菲 849

java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_c

java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation ‘=’ 在使用mybatis向数据库中插入数据时报此错误信息,通过报错信息可以看到是字符编码混淆。 <insert id="addEmp" parameterType="com.mytest.mybatis.entity.Employee">

nicedaych的博客 5605

SQL语句报错:java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_g

错误截图 发生错误的原因:sql语句中有中文条件,查询的表中,表的编码不一致,导致出现这个错误 解决方案: 先查看所有表的结构与编码是否一致:show full columns from zx_log_manage 修改表现在的编码 ALTER TABLE `表名`convert to character set utf8mb4; utf8mb4:是你要设置的编码,我这里是utfmb4 ...

浮生未歇的博客 1592

mysql报错: Illegal mix of collations (utf8mb4_0900_ai_ci,COERCIBLE) and (gbk_chinese_ci,IMPLICIT) for

Caused by: java.sql.SQLException: Illegal mix of collations (utf8mb4_0900_ai_ci,COERCIBLE) and (gbk_chinese_ci,IMPLICIT) for operation 'UNION'

c_c18的博客 1492

【MySQL】1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIB

1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation ‘=’"

Trees__的博客 3523

如何处理“Illegal mix of collations”错误

最近在项目中查询视图时报了一个错误“Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8mb4_unicode_ci,COERCIBLE) for operation '='”。这是因为待查询字段的COLLATE与要判断的值的COLLATE不同导致的。这就需要在查询时手工指定COLLATE。例如: WHERE 'A...

spy2000的专栏 3425

Mysql报错解决:Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE)

原因: 查询后发现是因为临时表的字符集是 CHARSET=utf8mb4 COLLATE= utf8mb4_unicode_ci而此字符集是继承于数据库的, 查看发现库的字符集是 让实施同事查看后发现创建数据库时做了如下设置:collation_server= utf8mb4_unicode_ci 从而后续创建临时表和函数时(未显式制定utf8mb4_0900_ai_ci), 字符集都是utf8mb4_unicode_ci,而我们的建表语句中是制定了字符集为 utf8mb4_0900_ai_ci, 于是就出

臧玄真 3万+

MySQL执行异常: Illegal mix of collations (utf8mb4_0900_ai_ci IMPLICIT) and (utf8mb4_general_ci...

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

zsxcomputer的博客 1万+

MySQL错误Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)解决方法

在执行SQL语句中有比较两个表的字段时,出现Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)错误。意思是遇到的编码错误。表a是utf8_unicode_ci,而表b是utf8_general_ci。同样是uft-8编码,不知道这样细分的意义。我的两张表是用Navicat分别从两个xlsx文件中导入的,自动就成了这样。下面说一下解决方法。 方法一: 如果数据已导入,又...

阿珊境界 8万+
上一篇: Nginx 配置静态文件404问题
下一篇: CentOS 7 搭建第一个Fabric网络
line_aijava
博客等级 码龄16年 31粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值