Hive安装过程中初始化matestore时字段编码问题:
背景,
因为mysql的配置文件中/etc/my.cnf中设置了默认的编码为utf8,而在该MySQL中创建hive元数据库时,如果不指定默认是使用 latin1 ,所以在初始化Hive的matestore之后,会报错:
因为mysql的配置文件中/etc/my.cnf中设置了默认的编码为utf8,而在该MySQL中创建hive元数据库时,如果不指定默认是使用 latin1 ,所以在初始化Hive的matestore之后,会报错:
FAILED: Error in metadata: javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)