You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Sai Hemanth Gantasala (Jira)" <ji...@apache.org> on 2022/09/28 06:03:00 UTC

[jira] [Updated] (HIVE-25813) CREATE TABLE x LIKE storagehandler-based-source fails

     [ https://issues.apache.org/jira/browse/HIVE-25813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sai Hemanth Gantasala updated HIVE-25813:
-----------------------------------------
    Description: 
{code:java}
CREATE EXTERNAL TABLE default.dbs (
  DB_ID            bigint,
  DB_LOCATION_URI  string,
  NAME             string,
  OWNER_NAME       string,
  OWNER_TYPE       string )
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
TBLPROPERTIES (
  'hive.sql.database.type' = 'MYSQL',
  'hive.sql.jdbc.driver'   = 'com.mysql.jdbc.Driver',
  'hive.sql.jdbc.url'      = 'jdbc:mysql://localhost:3306/hive1',
  'hive.sql.dbcp.username' = 'hive1',
  'hive.sql.dbcp.password' = 'cloudera',
  'hive.sql.query' = 'SELECT DB_ID, DB_LOCATION_URI, NAME, OWNER_NAME, OWNER_TYPE FROM DBS'
);

CREATE TABLE default.dbscopy LIKE default.dbs;

Caused by: java.lang.NullPointerException
	at org.apache.hadoop.hive.metastore.HiveMetaStoreUtils.getFieldsFromDeserializer(HiveMetaStoreUtils.java:186) {code}
With this patch we don't want to copy over the tbl properties or any other physical properties (storage handler e.t.c) of the source table when CREATE TABLE LIKE TABLE command is executed. Only table schema (logical properties) should be copiedĀ 

  was:
{code:java}
CREATE EXTERNAL TABLE default.dbs (
  DB_ID            bigint,
  DB_LOCATION_URI  string,
  NAME             string,
  OWNER_NAME       string,
  OWNER_TYPE       string )
STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
TBLPROPERTIES (
  'hive.sql.database.type' = 'MYSQL',
  'hive.sql.jdbc.driver'   = 'com.mysql.jdbc.Driver',
  'hive.sql.jdbc.url'      = 'jdbc:mysql://localhost:3306/hive1',
  'hive.sql.dbcp.username' = 'hive1',
  'hive.sql.dbcp.password' = 'cloudera',
  'hive.sql.query' = 'SELECT DB_ID, DB_LOCATION_URI, NAME, OWNER_NAME, OWNER_TYPE FROM DBS'
);

CREATE TABLE default.dbscopy LIKE default.dbs;

Caused by: java.lang.NullPointerException
	at org.apache.hadoop.hive.metastore.HiveMetaStoreUtils.getFieldsFromDeserializer(HiveMetaStoreUtils.java:186) {code}


> CREATE TABLE x LIKE storagehandler-based-source fails 
> ------------------------------------------------------
>
>                 Key: HIVE-25813
>                 URL: https://issues.apache.org/jira/browse/HIVE-25813
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Sai Hemanth Gantasala
>            Assignee: Sai Hemanth Gantasala
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> {code:java}
> CREATE EXTERNAL TABLE default.dbs (
>   DB_ID            bigint,
>   DB_LOCATION_URI  string,
>   NAME             string,
>   OWNER_NAME       string,
>   OWNER_TYPE       string )
> STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler'
> TBLPROPERTIES (
>   'hive.sql.database.type' = 'MYSQL',
>   'hive.sql.jdbc.driver'   = 'com.mysql.jdbc.Driver',
>   'hive.sql.jdbc.url'      = 'jdbc:mysql://localhost:3306/hive1',
>   'hive.sql.dbcp.username' = 'hive1',
>   'hive.sql.dbcp.password' = 'cloudera',
>   'hive.sql.query' = 'SELECT DB_ID, DB_LOCATION_URI, NAME, OWNER_NAME, OWNER_TYPE FROM DBS'
> );
> CREATE TABLE default.dbscopy LIKE default.dbs;
> Caused by: java.lang.NullPointerException
> 	at org.apache.hadoop.hive.metastore.HiveMetaStoreUtils.getFieldsFromDeserializer(HiveMetaStoreUtils.java:186) {code}
> With this patch we don't want to copy over the tbl properties or any other physical properties (storage handler e.t.c) of the source table when CREATE TABLE LIKE TABLE command is executed. Only table schema (logical properties) should be copiedĀ 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)