Hi,

Fixed the issue by downgrade hive from 13.1 to 12.0, it works well now.

Regards
 

On 31 Aug, 2014, at 7:28 am, arthur.hk.c...@gmail.com 
<arthur.hk.c...@gmail.com> wrote:

> Hi,
> 
> Already done but still get the same error:
> 
> (I use HIVE 0.13.1 Spark 1.0.2, Hadoop 2.4.1)
> 
> Steps:
> Step 1) mysql:
>> 
>>> alter database hive character set latin1;
> Step 2) HIVE:
>>> hive> create table test_datatype2 (testbigint bigint );
>>> OK
>>> Time taken: 0.708 seconds
>>> 
>>> hive> drop table test_datatype2;
>>> OK
>>> Time taken: 23.272 seconds
> Step 3) scala> val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
>>> 14/08/29 19:33:52 INFO Configuration.deprecation: 
>>> mapred.reduce.tasks.speculative.execution is deprecated. Instead, use 
>>> mapreduce.reduce.speculative
>>> hiveContext: org.apache.spark.sql.hive.HiveContext = 
>>> org.apache.spark.sql.hive.HiveContext@395c7b94
>>> scala> hiveContext.hql(“create table test_datatype3 (testbigint bigint)”)
>>> res0: org.apache.spark.sql.SchemaRDD = 
>>> SchemaRDD[0] at RDD at SchemaRDD.scala:104
>>> == Query Plan ==
>>> <Native command: executed by Hive>
>>> scala> hiveContext.hql("drop table test_datatype3")
>>> 
>>> 14/08/29 19:34:14 ERROR DataNucleus.Datastore: 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:39)
>>> 
>>> 14/08/29 19:34:17 WARN DataNucleus.Query: Query for candidates of 
>>> org.apache.hadoop.hive.metastore.model.MPartition and subclasses resulted 
>>> in no possible candidates
>>> 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.
>>> org.datanucleus.exceptions.NucleusDataStoreException: 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.
>>> at 
>>> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.verifyErrors(RDBMSStoreManager.java:3609)
>>> 
>>> 
>>> Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 
>>> Specified key was too long; max key length is 767 bytes
>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 
> 
> 
> Should I use HIVE 0.12.0 instead of HIVE 0.13.1?
> 
> Regards
> Arthur
> 
> On 31 Aug, 2014, at 6:01 am, Denny Lee <denny.g....@gmail.com> wrote:
> 
>> Oh, you may be running into an issue with your MySQL setup actually, try 
>> running
>> 
>> alter database metastore_db character set latin1
>> 
>> so that way Hive (and the Spark HiveContext) can execute properly against 
>> the metastore.
>> 
>> 
>> On August 29, 2014 at 04:39:01, arthur.hk.c...@gmail.com 
>> (arthur.hk.c...@gmail.com) wrote:
>> 
>>> Hi,
>>> 
>>> 
>>> Tried the same thing in HIVE directly without issue:
>>> 
>>> HIVE:
>>> hive> create table test_datatype2 (testbigint bigint );
>>> OK
>>> Time taken: 0.708 seconds
>>> 
>>> hive> drop table test_datatype2;
>>> OK
>>> Time taken: 23.272 seconds
>>> 
>>> 
>>> 
>>> Then tried again in SPARK:
>>> scala> val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
>>> 14/08/29 19:33:52 INFO Configuration.deprecation: 
>>> mapred.reduce.tasks.speculative.execution is deprecated. Instead, use 
>>> mapreduce.reduce.speculative
>>> hiveContext: org.apache.spark.sql.hive.HiveContext = 
>>> org.apache.spark.sql.hive.HiveContext@395c7b94
>>> 
>>> scala> val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
>>> res0: org.apache.spark.sql.SchemaRDD = 
>>> SchemaRDD[0] at RDD at SchemaRDD.scala:104
>>> == Query Plan ==
>>> <Native command: executed by Hive>
>>> 
>>> scala> hiveContext.hql("drop table test_datatype3")
>>> 
>>> 14/08/29 19:34:14 ERROR DataNucleus.Datastore: 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:39)
>>> 
>>> 14/08/29 19:34:17 WARN DataNucleus.Query: Query for candidates of 
>>> org.apache.hadoop.hive.metastore.model.MPartition and subclasses resulted 
>>> in no possible candidates
>>> 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.
>>> org.datanucleus.exceptions.NucleusDataStoreException: 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.
>>> at 
>>> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.verifyErrors(RDBMSStoreManager.java:3609)
>>> 
>>> 
>>> Caused by: 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:39)
>>> 
>>> 14/08/29 19:34:17 INFO DataNucleus.Datastore: The class 
>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as 
>>> "embedded-only" so does not have its own datastore table.
>>> 14/08/29 19:34:17 INFO DataNucleus.Datastore: The class 
>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as 
>>> "embedded-only" so does not have its own datastore table.
>>> 14/08/29 19:34:17 INFO DataNucleus.Datastore: The class 
>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as 
>>> "embedded-only" so does not have its own datastore table.
>>> 14/08/29 19:34:17 INFO DataNucleus.Datastore: The class 
>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as 
>>> "embedded-only" so does not have its own datastore table.
>>> 14/08/29 19:34:17 INFO DataNucleus.Datastore: The class 
>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as 
>>> "embedded-only" so does not have its own datastore table.
>>> 14/08/29 19:34:17 INFO DataNucleus.Datastore: The class 
>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as 
>>> "embedded-only" so does not have its own datastore table.
>>> 14/08/29 19:34:25 ERROR DataNucleus.Datastore: 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)
>>> 
>>> 
>>> Can anyone please help?
>>> 
>>> Regards
>>> Arthur
>>> 
>>> 
>>> On 29 Aug, 2014, at 12:47 pm, arthur.hk.c...@gmail.com 
>>> <arthur.hk.c...@gmail.com> wrote:
>>>> (Please ignore if duplicated) 
>>>> 
>>>> 
>>>> Hi,
>>>> 
>>>> I use Spark 1.0.2 with Hive 0.13.1
>>>> 
>>>> I have already set the hive mysql database to latine1; 
>>>> 
>>>> mysql:
>>>> alter database hive character set latin1;
>>>> 
>>>> Spark:
>>>> scala> val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
>>>> scala> hiveContext.hql("create table test_datatype1 (testbigint bigint )")
>>>> scala> hiveContext.hql("drop table test_datatype1")
>>>> 
>>>> 
>>>> 14/08/29 12:31:55 INFO DataNucleus.Datastore: The class 
>>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as 
>>>> "embedded-only" so does not have its own datastore table.
>>>> 14/08/29 12:31:55 INFO DataNucleus.Datastore: The class 
>>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as 
>>>> "embedded-only" so does not have its own datastore table.
>>>> 14/08/29 12:31:55 INFO DataNucleus.Datastore: The class 
>>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as 
>>>> "embedded-only" so does not have its own datastore table.
>>>> 14/08/29 12:31:55 INFO DataNucleus.Datastore: The class 
>>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as 
>>>> "embedded-only" so does not have its own datastore table.
>>>> 14/08/29 12:31:59 ERROR DataNucleus.Datastore: 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:39)
>>>> at 
>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>> at com.mysql.jdbc.Util.handleNewInstance(Util.java:408)
>>>> at com.mysql.jdbc.Util.getInstance(Util.java:383)
>>>> at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)
>>>> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226)
>>>> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158)
>>>> 
>>>> Can you please advise what would be wrong?
>>>> 
>>>> Regards
>>>> Arthur
> 

Reply via email to