Note that getAllRows() is deprecated in Astyanax (see here
<https://github.com/Netflix/astyanax/wiki/Getting-Started#iterate-through-the-entire-keyspace-deprecated>
).

You should prefer to use the AllRowsReader recipe:
https://github.com/Netflix/astyanax/wiki/AllRowsReader-All-rows-query

Note the section titled Reading only the row keys
<https://github.com/Netflix/astyanax/wiki/AllRowsReader-All-rows-query#reading-only-the-row-keys>,
which seems to match your use case exactly.  You should start getting row
keys back very, very quickly.

On Fri, Jan 16, 2015 at 11:32 AM, Ruchir Jha <ruchir....@gmail.com> wrote:

> We have a column family that has about 800K rows and on an average about a
> million columns. I am interested in getting all the row keys in this column
> family and I am using the following Astyanax code snippet to do this.
>
> This query never finishes (ran it for 2 days but did not finish).
>
>
> This query however works with CF's that have lesser number of columns.
> This leads me to believe that there might be an API that just retrieves the
> row keys and does not depend on the number of columns in the CF. Any
> suggestions are appreciated.
>
>
>
> I am running Cassandra 2.0.9 and this is a 4 node cluster.
>
>
>
>                         keyspace.prepareQuery(*this*
> .wideRowTables.get(group)).setConsistencyLevel(ConsistencyLevel.CL_QUORUM).getAllRows().setRowLimit(1000)
>
>                                                 .setRepeatLastToken(
> *false*).withColumnRange(*new*
> RangeBuilder().setLimit(1).build()).executeWithCallback(*new*
> RowCallback<String, T>() {
>
>
>
>                                                             @Override
>
>                                                             *public*
> *boolean* failure(ConnectionException e)
>
>                                                             {
>
>
> *return* *true*;
>
>                                                             }
>
>
>
>                                                             @Override
>
>                                                             *public*
> *void* success(Rows<String, T> rows)
>
>                                                             {
>
>                                                                         //
> iterating over rows here
>
>                                                             }
>
>                                                 });
>

Reply via email to