[
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 table 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 implementation is consistent with other SQL engines like
Mysql, Redshift etc.
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}
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Ā
> 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 table 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 implementation is consistent with other SQL engines
> like Mysql, Redshift etc.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)