And what happens if you simply update the .avsc file on HDFS?  Does 'describe 
test' show the new columns?

From: "Lunagariya, Dhaval" 
<[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Wednesday, March 23, 2016 at 8:29 AM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Cc: "'[email protected]<mailto:'[email protected]>'" 
<[email protected]<mailto:[email protected]>>
Subject: RE: Want to Add New Column in Avro Schema

Here is the DDL.

DROP TABLE IF EXISTS TEST;

CREATE EXTERNAL TABLE TEST
PARTITIONED BY (
COL1 STRING,
COL2 STRING
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION 'hdfs:///data/hive/TEST'
TBLPROPERTIES ('avro.schema.url'='hdfs:///user/Test.avsc');

Thanks,
Dhaval

From: Aaron.Dossett [mailto:[email protected]]
Sent: Wednesday, March 23, 2016 6:50 PM
To: [email protected]<mailto:[email protected]>
Cc: '[email protected]<mailto:'[email protected]>'
Subject: Re: Want to Add New Column in Avro Schema

You shouldn't have to drop the table, just update the .avsc.  Can you share the 
DDL you use to create the table?

From: "Lunagariya, Dhaval" 
<[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Wednesday, March 23, 2016 at 8:17 AM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Cc: "'[email protected]<mailto:'[email protected]>'" 
<[email protected]<mailto:[email protected]>>
Subject: RE: Want to Add New Column in Avro Schema

Yes. I made require changes in .avsc file and I drop the table and re-created 
using updated .avsc. But I am not getting existing data in that case.

Where am I wrong? Can you through some light

Thanks,
Dhaval

From: Aaron.Dossett [mailto:[email protected]]
Sent: Wednesday, March 23, 2016 6:36 PM
To: [email protected]<mailto:[email protected]>
Cc: '[email protected]<mailto:'[email protected]>'
Subject: Re: Want to Add New Column in Avro Schema

If you create the external table by reference to the .avsc file (TBLPROPERTIES 
( 'avro.schema.url'='hdfs://foo.avsc')) the all you have to do is update that 
avsc file in a compatible way and Hive should reflect the new schema.  I've 
implemented this pattern in my production system for several months now.

-Aaron

From: "Lunagariya, Dhaval" 
<[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Wednesday, March 23, 2016 at 6:32 AM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Cc: "'[email protected]<mailto:'[email protected]>'" 
<[email protected]<mailto:[email protected]>>
Subject: Want to Add New Column in Avro Schema

Hey folks,

I want to add new column in existing Hive Table. We created external hive table 
with the help of .avsc. Now I want to add new column in that table.

How can I do that without disturbing any data present in table?

Please Help.

Regards,
Dhaval

Reply via email to