You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Bing Li (JIRA)" <ji...@apache.org> on 2014/05/06 11:40:14 UTC

[jira] [Commented] (HIVE-6990) Direct SQL fails when the explicit schema setting is different from the default one

    [ https://issues.apache.org/jira/browse/HIVE-6990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13990480#comment-13990480 ] 

Bing Li commented on HIVE-6990:
-------------------------------

Hi, [~sershe]
The failures in build#88 are not related to this patch.

If we don't set javax.jdo.mapping.Schema in hive-site.xml, then the value of the schema is empty, and I can't get the table schema info from the database either.

Do you have some good method to get this info?

Thank you!

> Direct SQL fails when the explicit schema setting is different from the default one
> -----------------------------------------------------------------------------------
>
>                 Key: HIVE-6990
>                 URL: https://issues.apache.org/jira/browse/HIVE-6990
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.12.0
>         Environment: hive + derby
>            Reporter: Bing Li
>            Assignee: Bing Li
>             Fix For: 0.14.0
>
>         Attachments: HIVE-6990.1.patch, HIVE-6990.2.patch
>
>
> I got the following ERROR in hive.log
> 2014-04-23 17:30:23,331 ERROR metastore.ObjectStore (ObjectStore.java:handleDirectSqlError(1756)) - Direct SQL failed, falling back to ORM
> javax.jdo.JDODataStoreException: Error executing SQL query "select PARTITIONS.PART_ID from PARTITIONS  inner join TBLS on PARTITIONS.TBL_ID = TBLS.TBL_ID   inner join DBS on TBLS.DB_ID = DBS.DB_ID inner join PARTITION_KEY_VALS as FILTER0 on FILTER0.PART_ID = PARTITIONS.PART_ID and FILTER0.INTEGER_IDX = 0 where TBLS.TBL_NAME = ? and DBS.NAME = ? and ((FILTER0.PART_KEY_VAL = ?))".
>         at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:451)
>         at org.datanucleus.api.jdo.JDOQuery.executeWithArray(JDOQuery.java:321)
>         at org.apache.hadoop.hive.metastore.MetaStoreDirectSql.getPartitionsViaSqlFilterInternal(MetaStoreDirectSql.java:181)
>         at org.apache.hadoop.hive.metastore.MetaStoreDirectSql.getPartitionsViaSqlFilter(MetaStoreDirectSql.java:98)
>         at org.apache.hadoop.hive.metastore.ObjectStore.getPartitionsByFilterInternal(ObjectStore.java:1833)
>         at org.apache.hadoop.hive.metastore.ObjectStore.getPartitionsByFilter(ObjectStore.java:1806)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
>         at java.lang.reflect.Method.invoke(Method.java:619)
>         at org.apache.hadoop.hive.metastore.RetryingRawStore.invoke(RetryingRawStore.java:124)
>         at com.sun.proxy.$Proxy11.getPartitionsByFilter(Unknown Source)
>         at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_partitions_by_filter(HiveMetaStore.java:3310)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
>         at java.lang.reflect.Method.invoke(Method.java:619)
>         at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:103)
>         at com.sun.proxy.$Proxy12.get_partitions_by_filter(Unknown Source)
> Reproduce steps:
> 1. set the following properties in hive-site.xml
>  <property>
>   <name>javax.jdo.mapping.Schema</name>
>   <value>HIVE</value>
>  </property>
>  <property>
>   <name>javax.jdo.option.ConnectionUserName</name>
>   <value>user1</value>
>  </property>
> 2. execute hive queries
> hive> create table mytbl ( key int, value string);
> hive> load data local inpath 'examples/files/kv1.txt' overwrite into table mytbl;
> hive> select * from mytbl;
> hive> create view myview partitioned on (value) as select key, value from mytbl where key=98;
> hive> alter view myview add partition (value='val_98') partition (value='val_xyz');
> hive> alter view myview drop partition (value='val_xyz');



--
This message was sent by Atlassian JIRA
(v6.2#6252)