Hello, Where do you keep your metadata? If it's a regular RDBMS, you could update the tables directly.
the location is in the partitions table inside your metadata database. Florin On Aug 20, 2011, at 3:52 AM, Aggarwal, Vaibhav wrote: > You could also specify fully qualified hdfs path in the create table command. > It could look like > > create external table test(key string ) > row format delimited > fields terminated by '\000' > collection items terminated by ' ' > location 'hdfs://new_master_host:port/table_path’; > > Then you can use the ‘insert overwrite’ command to move all data to the new > table. > You can use dynamic partitioning to move partitioned tables. > Please use the following options: > SET hive.exec.dynamic.partition=true; > SET hive.exec.dynamic.partition.mode=nonstrict; > > That way you will have the data copied and all the partitions created > correctly for you. > > Thanks > Vaibhav > > From: Bhupesh Bansal [mailto:bhup...@groupon.com] > Sent: Friday, August 19, 2011 2:27 PM > To: user@hive.apache.org > Subject: Alter table Set Locations for all partitions > > Hey Folks, > > I am wondering what is the easiest way to migrate data off one hadoop/hive > cluster to another. > > I distcp all data to new cluster, and then copied the metadata directory to > new cluster. > hive comes up fine and show tables etc but the hive location is still > pointing to old cluster > > There is one command > alter table table_name set location new_location > > but it doesnt work for partitioned tables, is there a way we can do it for > *ALL* partitions easily ?? > > Best > Bhupesh >