本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7901517.html?templateId=171...
【问题分类】功能兼容
【关键字】YAS-07202、YAS\_MY ERROR,bit
【问题描述】
本项目的架构是hadoop+hive+yashandb
使用崖山数据库,将mysql相关的创建表语句进行初始化同步
使用崖山23.3版本兼容mysql数据库,新建表和查询表都出现问题
查询报错
mysql> SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MTable' AS NUCLEUS\_TYPE,A0.CREATE\_TIME,A0.LAST\_ACCESS\_TIME,A0.OWNER,A0.OWNER\_TYPE,A0.RETENTION,A0.IS\_REWRITE\_ENABLED,A0.TBL\_NAME,A0.TBL\_TYPE,A0.TBL\_ID FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB\_ID = B0.DB\_ID ;
ERROR 7202 (HY000): YAS-07202 plugin execution error, YAS\_MY error, unsupported datatypemysql> SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.MTable' AS NUCLEUS\_TYPE,A0.CREATE\_TIME,A0.LAST\_ACCESS\_TIME,A0.OWNER,A0.OWNER\_TYPE,A0.RETENTION,A0.IS\_REWRITE\_ENABLED,A0.TBL\_NAME,A0.TBL\_TYPE,A0.TBL\_ID FROM TBLS A0 LEFT OUTER JOIN DBS B0 ON A0.DB\_ID = B0.DB\_ID ;
ERROR 7202 (HY000): YAS-07202 plugin execution error, YAS\_MY error, unsupported datatype
创建表报错
初步分析是mysql类型不兼容,出现相关报错
分别从jdbc层,表定义和字段类型等进行分析
【问题原因分析】
相关的查询表的结构如下
通过定位mysql创建语法,将可能出现字段类型兼容问题定位在 mediumtext -->clob 和 bit -- >bit
上面。通过修改对比和研发进行联合分析发现,崖山bit类型和mysql bit类型,看着是兼容的,实际上是不兼容的
定位到bit类型是不兼容之后,全部将bit类型替换成boolean之后,相关的查询和创建新表的问题都没有了
【解决/规避方法】
全部将bit类型替换成boolean之后,相关的查询和创建新表的问题都没有了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。