Each table has a different Guid — doing a hard link may work as long as the 
sstable dir’s guid is he same as the newly created table in the system schema.

--
Rahul Singh
rahul.si...@anant.us

Anant Corporation

On Apr 19, 2018, 10:41 AM -0500, Kyrylo Lebediev <kyrylo_lebed...@epam.com>, 
wrote:
> The table is too large to be copied fast/effectively , so I'd like to 
> leverage immutableness  property of SSTables.
>
> My idea is to:
> 1) create new empty table (NewTable) with the same structure as existing one 
> (OldTable)
> 2) at some time run simultaneous 'nodetool snapshot -t ttt <keyspace> 
> OldTable' on all nodes -- this will create point in time state of OldTable
> 3) on each node run:
>        for each file in OldTable ttt snapshot directory:
>              ln 
> ..../<keyspace>/OldTable-<uuid>/snapshots/ttt/<keyspace>_OldTable_xxxxxx 
> ...../<keyspace>/Newtable/<keyspace>_NewTable_xxxxx
>      then:
>      nodetool refresh <keyspace> NewTable
> 4) nodetool repair NewTable
> 5) Use OldTable and NewTable independently (Read/Write)
>
> Are there any issues with using hardlinks (ln) instead of copying (cp) in 
> this case?
>
> Thanks,
> Kyrill
>
> From: Rahul Singh <rahul.xavier.si...@gmail.com>
> Sent: Wednesday, April 18, 2018 2:07:17 AM
> To: user@cassandra.apache.org
> Subject: Re: copy from one table to another
>
> 1. Make a new table with the same schema.
> For each node
> 2. Shutdown node
> 3. Copy data from Source sstable dir to new sstable dir.
>
> This will do what you want.
>
> --
> Rahul Singh
> rahul.si...@anant.us
>
> Anant Corporation
>
> On Apr 16, 2018, 4:21 PM -0500, Kyrylo Lebediev <kyrylo_lebed...@epam.com>, 
> wrote:
> > Thanks,  Ali.
> > I just need to copy a large table in production without actual copying by 
> > using hardlinks. After this both tables should be used independently (RW). 
> > Is this a supported way or not?
> >
> > Regards,
> > Kyrill
> > From: Ali Hubail <ali.hub...@petrolink.com>
> > Sent: Monday, April 16, 2018 6:51:51 PM
> > To: user@cassandra.apache.org
> > Subject: Re: copy from one table to another
> >
> > If you want to copy a portion of the data to another table, you can also 
> > use sstable cql writer. It is more of an advanced feature and can be 
> > tricky, but doable.
> > once you write the new sstables, you can then use the sstableloader to 
> > stream the new data into the new table.
> > check this out:
> > https://www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated
> >
> > I have recently used this to clean up 500 GB worth of sstable data in order 
> > to purge tombstones that were mistakenly generated by the client.
> > obviously this is not as fast as hardlinks + refresh, but it's much faster 
> > and more efficient than using cql to copy data accross the tables.
> > take advantage of CQLSSTableWriter.builder.sorted() if you can, and utilize 
> > writetime if you have to.
> >
> > Ali Hubail
> >
> > Confidentiality warning: This message and any attachments are intended only 
> > for the persons to whom this message is addressed, are confidential, and 
> > may be privileged. If you are not the intended recipient, you are hereby 
> > notified that any review, retransmission, conversion to hard copy, copying, 
> > modification, circulation or other use of this message and any attachments 
> > is strictly prohibited. If you receive this message in error, please notify 
> > the sender immediately by return email, and delete this message and any 
> > attachments from your system. Petrolink International Limited its 
> > subsidiaries, holding companies and affiliates disclaims all responsibility 
> > from and accepts no liability whatsoever for the consequences of any 
> > unauthorized person acting, or refraining from acting, on any information 
> > contained in this message. For security purposes, staff training, to assist 
> > in resolving complaints and to improve our customer service, email 
> > communications may be monitored and telephone calls may be recorded.
> >
> >
> > Kyrylo Lebediev <kyrylo_lebed...@epam.com>
> > 04/16/2018 10:37 AM
> > Please respond to
> > user@cassandra.apache.org
> >
> > To
> > "user@cassandra.apache.org" <user@cassandra.apache.org>,
> > cc
> > Subject
> > Re: copy from one table to another
> >
> >
> >
> >
> >
> > Any issues if we:
> >
> > 1) create an new empty table with the same structure as the old one
> > 2) create hardlinks ("ln without -s"): 
> > .../<newtable>-<newuuid>/<newkeyspacename>-<newtable>-* ---> 
> > .../<oldtable>-<olduuid>/<oldkeyspacename>-<oldtable>-*
> > 3) run nodetool refresh -- newkeyspacename newtable
> >
> > and then query/modify both tables independently/simultaneously?
> >
> > In theory, as SSTables are immutable, this should work, but could there be 
> > some hidden issues?
> >
> > Regards,
> > Kyrill
> >
> > From: Dmitry Saprykin <saprykin.dmi...@gmail.com>
> > Sent: Sunday, April 8, 2018 7:33:03 PM
> > To: user@cassandra.apache.org
> > Subject: Re: copy from one table to another
> >
> > You can copy hardlinks to ALL SSTables from old to new table and then 
> > delete part of data you do not need in a new one.
> >
> > On Sun, Apr 8, 2018 at 10:20 AM, Nitan Kainth <nitankai...@gmail.com> wrote:
> > If it for testing and you don’t need any specific data, just copy a set of 
> > sstables with all files of that sequence and move to target tables 
> > directory and rename it.
> >
> > Restart target node or run nodetool refresh
> >
> > Sent from my iPhone
> >
> > On Apr 8, 2018, at 4:15 AM, onmstester onmstester <onmstes...@zoho.com> 
> > wrote:
> >
> > Is there any way to copy some part of a table to another table in 
> > cassandra? A large amount of data should be copied so i don't want to fetch 
> > data to client and stream it back to cassandra using cql.
> >
> > Sent using Zoho Mail
> >
> >
> >

Reply via email to