gpt4 book ai didi

mysql - 创建 Hive 表会自动更改 mysql metastore 的字符集设置

转载 作者:可可西里 更新时间:2023-11-01 14:45:00 29 4
gpt4 key购买 nike

我将 Hive 配置为使用 mysql 元存储。它工作正常。

但是当我尝试删除表时,会出现如下错误。

FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were found while auto-creating/validating the datastore for classes. The errors are printed in the log, and are attached to this exception.
NestedThrowables:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

我做了一些研究,谷歌和official faq告诉我更改 mysql 字符集设置将解决此问题。

我的mysql设置如下

mysql> show variables like '%char%';
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+
8 rows in set (0.02 sec)

我将所有字符集设置从 utf8 更改为 latin1,除了 character_set_filesystemcharacter_set_system character_sets_dir.

即使这样做,我在尝试删除表时仍然会遇到相同的错误。更糟糕的是,每当我创建一个新表时,mysql 字符集设置将重置为 utf-8

有人可以帮忙吗?

最佳答案

问题是在 hive-site.xml 中,它在下面的创建“hive”中使用了其他数据库

 <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
</property>

将数据库名称更改为您已经在 mysql 中创建的“metastore”

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true</value>
</property>

希望这能解决问题我遇到了同样的问题并且我这样修复了它。友好的马图克

关于mysql - 创建 Hive 表会自动更改 mysql metastore 的字符集设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12952348/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com