Dan, Depending on your context, many of the DataStax drivers have the token ring exposed client-side.
For example, Python: http://datastax.github.io/python-driver/api/cassandra/metadata.html#tokens-and-ring-topology Java: http://www.datastax.com/drivers/java/2.1/com/datastax/driver/core/Metadata.html You may not have to construct this yourself. Adam Holmberg On Thu, Mar 26, 2015 at 3:53 PM, Roman Tkachenko <ro...@mailgunhq.com> wrote: > Hi Dan, > > Have you tried using "nodetool getendpoints"? It shows you nodes that > currently own the specific key. > > Roman > > On Thu, Mar 26, 2015 at 1:21 PM, Dan Kinder <dkin...@turnitin.com> wrote: > >> Hey all, >> >> In certain cases it would be useful for us to find out which node(s) have >> the data for a given token/partition key. >> >> The only solutions I'm aware of is to select from system.local and/or >> system.peers to grab the host_id and tokens, do `SELECT token(thing) FROM >> myks.mytable WHERE thing = 'value';`, then do the math (put the ring >> together) and figure out which node has the data. I'm assuming this is what >> token aware drivers are doing. >> >> Is there a simpler way to do this? >> >> A bit more context: we'd like to move some processing closer to data, but >> for a few reasons hadoop/spark aren't good options for the moment. >> > >