在进行Hive集成Mysql作为元数据过程中。做全然部安装配置工作后。进入到hive模式,运行show databases。运行正常,接着运行show tables;时却报错。

关键错误信息例如以下:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes)

详细操作信息例如以下:

hive> show databases;

OK

default

Time taken: 8.638 seconds

hive> show tables;

FAILED: Error in metadata: MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException 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)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

        at com.mysql.jdbc.Util.getInstance(Util.java:386)

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4098)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4030)

        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)

        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)

        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2671)

        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2621)

        at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:842)

        at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:681)

        at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)

        at org.apache.commons.dbcp.DelegatingStatement.execute(DelegatingStatement.java:264)

        at org.datanucleus.store.rdbms.table.AbstractTable.executeDdlStatement(AbstractTable.java:730)

        at org.datanucleus.store.rdbms.table.AbstractTable.executeDdlStatementList(AbstractTable.java:681)

        at org.datanucleus.store.rdbms.table.AbstractTable.create(AbstractTable.java:402)

        at org.datanucleus.store.rdbms.table.AbstractTable.exists(AbstractTable.java:458)

        at org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.performTablesValidation(RDBMSStoreManager.java:2689)

        at org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.addClassTablesAndValidate(RDBMSStoreManager.java:2503)

        at org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.run(RDBMSStoreManager.java:2148)

        at org.datanucleus.store.rdbms.AbstractSchemaTransaction.execute(AbstractSchemaTransaction.java:113)

        at org.datanucleus.store.rdbms.RDBMSStoreManager.addClasses(RDBMSStoreManager.java:986)

        at org.datanucleus.store.rdbms.RDBMSStoreManager.addClasses(RDBMSStoreManager.java:952)

        at org.datanucleus.store.AbstractStoreManager.addClass(AbstractStoreManager.java:919)

        at org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass(MappedStoreManager.java:356)

        at org.datanucleus.store.rdbms.query.legacy.ExtentHelper.getExtent(ExtentHelper.java:48)

        at org.datanucleus.store.rdbms.RDBMSStoreManager.getExtent(RDBMSStoreManager.java:1332)

        at org.datanucleus.ObjectManagerImpl.getExtent(ObjectManagerImpl.java:4149)

        at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compileCandidates(JDOQLQueryCompiler.java:411)

        at org.datanucleus.store.rdbms.query.legacy.QueryCompiler.executionCompile(QueryCompiler.java:312)

        at org.datanucleus.store.rdbms.query.legacy.JDOQLQueryCompiler.compile(JDOQLQueryCompiler.java:225)

        at org.datanucleus.store.rdbms.query.legacy.JDOQLQuery.compileInternal(JDOQLQuery.java:175)

        at org.datanucleus.store.query.Query.executeQuery(Query.java:1628)

        at org.datanucleus.store.rdbms.query.legacy.JDOQLQuery.executeQuery(JDOQLQuery.java:245)

        at org.datanucleus.store.query.Query.executeWithArray(Query.java:1499)

        at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:243)

        at org.apache.hadoop.hive.metastore.ObjectStore.getTables(ObjectStore.java:781)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.hadoop.hive.metastore.RetryingRawStore.invoke(RetryingRawStore.java:111)

        at com.sun.proxy.$Proxy4.getTables(Unknown Source)

        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_tables(HiveMetaStore.java:2327)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:105)

        at com.sun.proxy.$Proxy5.get_tables(Unknown Source)

        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTables(HiveMetaStoreClient.java:817)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:74)

        at com.sun.proxy.$Proxy6.getTables(Unknown Source)

        at org.apache.hadoop.hive.ql.metadata.Hive.getTablesByPattern(Hive.java:1009)

        at org.apache.hadoop.hive.ql.metadata.Hive.getAllTables(Hive.java:983)

        at org.apache.hadoop.hive.ql.exec.DDLTask.showTables(DDLTask.java:2215)

        at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:334)

        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:138)

        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)

        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1336)

        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1122)

        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:935)

        at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)

        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)

        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:412)

        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:755)

        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:613)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.hadoop.util.RunJar.main(RunJar.java:160)





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

处理方案:

改动我们创建的hive元数据库的编码字符集,如:

alter database hive_test character set latin1;

Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes的更多相关文章

  1. 使用图形界面管理工具Navicat for MySQL连接Mysql数据库时提示错误:Can't connect to MySQL server (10060)

    版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...

  2. EF MySQL 提示 Specified key was too long; max key length is 767 bytes错误

    在用EF的CodeFirst操作MySql时,提示 Specified key was too long; max key length is 767 bytes错误,但数据库和表也建成功了.有高人知 ...

  3. hive mysql元数据,报错 Specified key was too long; max key length is 767 bytes

    Specified key was too long; max key length is 767 bytes 此错误为hive 元数据mysql 字符集编码问题 如 show create tabl ...

  4. Mysql插入中文时提示:ERROR 1366 (HY000): Incorrect string value: '\xE5\x8F\xB0\xE5\xBC\x8F...' fo

    Mysql插入数据时提示:ERROR 1366 (HY000): Incorrect string value: ‘\xE5\x8F\xB0\xE5\xBC\x8F…’ fo 分析如下: 首先通过语句 ...

  5. Oracle登录时提示错误,导致用户无法登录

    Oracle登录时提示错误,导致用户无法登录,错误如下 ------------------------------------------------------------------------ ...

  6. Ubuntu 使用apt-get时提示错误:无法获得锁 /var/lib/dpkg/lock

    推荐博客:http://blog.sina.com.cn/s/blog_5c1450a8010188ju.html Ubuntu 使用apt-get时提示错误:无法获得锁 /var/lib/dpkg/ ...

  7. 在Ubuntu 12.04 - 64bit中安装CodeSourcery时提示错误

    安装时提示错误,Your 64-bit Linux host is missing the 32-bit libraries requied to install and use Sourcery C ...

  8. Navicat for MySQL打开链接时出错错误为:2005 - Unknown MySQL server host 'localhost'(0)?

    问题:Navicat for MySQL打开链接时出错错误为:2005 - Unknown MySQL server host 'localhost'(0)? 在使用navicat 连接mysql数据 ...

  9. Netbeans打开包括中文文件时提示错误

    Netbeans打开包括中文文件时提示错误.在Netbeans里找了半天没找到怎么设置,最后发现要改动Netbeans的配置文件才干解决. 编辑C:\Program Files\NetBeans 8. ...

随机推荐

  1. C程序运行的背后(1)

    一个成功的男人背后,至少有一个伟大的女人:一个不成功的男人,至少有一双手. 而一个C程序,无论成功不成功,它的背后一定有一个操作系统,一个shell,一套工具链. 世界本就不公平.隐藏在显而易见的事实 ...

  2. bzoj 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复 -- 最大生成树

    3390: [Usaco2004 Dec]Bad Cowtractors牛的报复 Time Limit: 1 Sec  Memory Limit: 128 MB Description     奶牛贝 ...

  3. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) E. Bear and Forgotten Tree 2 bfs set 反图的生成树

    E. Bear and Forgotten Tree 2 题目连接: http://www.codeforces.com/contest/653/problem/E Description A tre ...

  4. mysql 绿色版安装

    1. 下载MySql5.6.10GA解压缩版,这就不多说也不上图了,下不到或者下好之后不知道如何解压的接下去的文章也没什么好多看的. 2. 解压好之后进入根目录是这样个情况(本人使用的是MySql5. ...

  5. 简单破解 Sencha Architect 2.2 (ExtJs Designer)

    Sencha Architect 2是ExtJS和Sencha Touch的官方可视化IDE工具.最新版本是2.2,说是破解,其实是修改License来实现无限试用而已. 1.先下载安装官方软件,大约 ...

  6. MyEclipse2015创建配置Web+Maven项目

    首先我的MyEclipse版本是2015 stable 2.0,在MyEclipse中创建Maven项目通常有两种常见的方式,它们分别是: New Maven Project  New Web Pro ...

  7. IDA 中文字符串

    http://www.pediy.com/kssd/pediy05/pediy50528.htm Ida Pro 的默认设置里对中文字串的支持比较差,对于首字节大于'E0'的都显示成?了.其实...  ...

  8. Maven编译代码的相关命令

    第一.main目录下的主代码编写完毕后,使用Maven进行编译,在项目根目录下运行命令mvn clean compile进       行项目编译. 第二.test目录下的测试用例编写完毕之后就可以调 ...

  9. SQL SERVER SQLOS的任务调度--微软亚太区数据库技术支持组 官方博客

    https://blogs.msdn.microsoft.com/apgcdsd/2011/11/23/sql-server-sqlos/

  10. vue项目条形码和二维码生成工具试用

    项目开发需要,优惠券分不同类型,简单的使用id生成条形码供店铺使用,麻烦点的需要多个字段的就需要使用二维码来展示了,对应的效果如下 条形码(一维码)使用工具code128 需引入code128.js ...