I think that you may avoid timeout if you specify token condition inside
WHERE, like:

-query "SELECT * FROM probe_sensors WHERE token(...) > :start and
token(...) <= :end AND localisation_id = 208812 ALLOW FILTERING"

replace ... with list of partition key names


On Fri, Jan 17, 2020 at 7:47 PM Chris Splinter <chris.splinter...@gmail.com>
wrote:

> Do you know your partition keys?
>
> One option could be to enumerate that list of partition keys in separate
> cmds to make the individual operations less expensive for the cluster.
>
> For example:
> Say your partition key column is called id and the ids in your database
> are [1,2,3]
>
> You could do
> ./dsbulk unload --dsbulk.schema.keyspace 'dev_keyspace' -query "SELECT *
> FROM probe_sensors WHERE id = 1 AND localisation_id = 208812" -url
> /home/dump
> ./dsbulk unload --dsbulk.schema.keyspace 'dev_keyspace' -query "SELECT *
> FROM probe_sensors WHERE id = 2 AND localisation_id = 208812" -url
> /home/dump
> ./dsbulk unload --dsbulk.schema.keyspace 'dev_keyspace' -query "SELECT *
> FROM probe_sensors WHERE id = 3 AND localisation_id = 208812" -url
> /home/dump
>
>
> Does that option work for you?
>
>
>
> On Fri, Jan 17, 2020 at 12:17 PM adrien ruffie <adriennolar...@hotmail.fr>
> wrote:
>
>> I don't really know for the moment in production environment, but for
>> developpment environment the table contains more than 10.000.000 rows.
>> But we need just a sub dataset of this table not the entirety ...
>> ------------------------------
>> *De :* Chris Splinter <chris.splinter...@gmail.com>
>> *Envoyé :* vendredi 17 janvier 2020 17:40
>> *À :* adrien ruffie <adriennolar...@hotmail.fr>
>> *Cc :* user@cassandra.apache.org <user@cassandra.apache.org>; Erick
>> Ramirez <flightc...@gmail.com>
>> *Objet :* Re: COPY command with where condition
>>
>> What you are seeing there is a standard read timeout, how many rows do
>> you expect back from that query?
>>
>> On Fri, Jan 17, 2020 at 9:50 AM adrien ruffie <adriennolar...@hotmail.fr>
>> wrote:
>>
>> Thank you very much,
>>
>>  so I do this request with for example -->
>>
>> ./dsbulk unload --dsbulk.schema.keyspace 'dev_keyspace' -query "SELECT *
>> FROM probe_sensors WHERE localisation_id = 208812 ALLOW FILTERING" -url
>> /home/dump
>>
>>
>> But I get the following error
>> com.datastax.dsbulk.executor.api.exception.BulkExecutionException:
>> Statement execution failed: SELECT * FROM crt_sensors WHERE site_id =
>> 208812 ALLOW FILTERING (Cassandra timeout during read query at consistency
>> LOCAL_ONE (1 responses were required but only 0 replica responded))
>>
>> but I configured my driver with following driver.conf, but nothing work
>> correctly. Do you know what is the problem ?
>>
>> datastax-java-driver {
>>     basic {
>>
>>
>>         contact-points = ["data1com:9042","data2.com:9042"]
>>
>>         request {
>>             timeout = "2000000"
>>             consistency = "LOCAL_ONE"
>>
>>         }
>>     }
>>     advanced {
>>
>>         auth-provider {
>>             class = PlainTextAuthProvider
>>             username = "superuser"
>>             password = "mypass"
>>
>>         }
>>     }
>> }
>> ------------------------------
>> *De :* Chris Splinter <chris.splinter...@gmail.com>
>> *Envoyé :* vendredi 17 janvier 2020 16:17
>> *À :* user@cassandra.apache.org <user@cassandra.apache.org>
>> *Cc :* Erick Ramirez <flightc...@gmail.com>
>> *Objet :* Re: COPY command with where condition
>>
>> DSBulk has an option that lets you specify the query ( including a WHERE
>> clause )
>>
>> See Example 19 in this blog post for details:
>> https://www.datastax.com/blog/2019/06/datastax-bulk-loader-unloading
>>
>> On Fri, Jan 17, 2020 at 7:34 AM Jean Tremblay <
>> jean.tremb...@zen-innovations.com> wrote:
>>
>> Did you think about using a Materialised View to generate what you want
>> to keep, and then use DSBulk to extract the data?
>>
>> On 17 Jan 2020, at 14:30 , adrien ruffie <adriennolar...@hotmail.fr>
>> wrote:
>>
>> Sorry I come back to a quick question about the bulk loader ...
>>
>> https://www.datastax.com/blog/2018/05/introducing-datastax-bulk-loader
>>
>> I read this : "Operations such as converting strings to lowercase,
>> arithmetic on input columns, or filtering out rows based on some criteria,
>> are not supported. "
>>
>> Consequently, it's still not possible to use a WHERE clause with DSBulk,
>> right ?
>>
>> I don't really know how I can do it, in order to don't keep the wholeness
>> of business data already stored and which don't need to export...
>>
>>
>>
>> ------------------------------
>> *De :* adrien ruffie <adriennolar...@hotmail.fr>
>> *Envoyé :* vendredi 17 janvier 2020 11:39
>> *À :* Erick Ramirez <flightc...@gmail.com>; user@cassandra.apache.org <
>> user@cassandra.apache.org>
>> *Objet :* RE: COPY command with where condition
>>
>> Thank a lot !
>> It's a good news for DSBulk ! I will take a look around this solution.
>>
>> best regards,
>> Adrian
>> ------------------------------
>> *De :* Erick Ramirez <flightc...@gmail.com>
>> *Envoyé :* vendredi 17 janvier 2020 10:02
>> *À :* user@cassandra.apache.org <user@cassandra.apache.org>
>> *Objet :* Re: COPY command with where condition
>>
>> The COPY command doesn't support filtering and it doesn't perform well
>> for large tables.
>>
>> Have you considered the DSBulk tool from DataStax? Previously, it only
>> worked with DataStax Enterprise but a few weeks ago, it was made free and
>> works with open-source Apache Cassandra. For details, see this blogpost
>> <https://www.datastax.com/blog/2019/12/tools-for-apache-cassandra>.
>> Cheers!
>>
>> On Fri, Jan 17, 2020 at 6:57 PM adrien ruffie <adriennolar...@hotmail.fr>
>> wrote:
>>
>> Hello all,
>>
>> In my company we want to export a big dataset of our cassandra's ring.
>> We search to use COPY command but I don't find if and how can a WHERE
>> condition can be use ?
>>
>> Because we need to export only several data which must be return by a
>> WHERE closure, specially
>> and unfortunately with ALLOW FILTERING due to several old tables which
>> were poorly conceptualized...
>>
>> Do you know a means to do that please ?
>>
>> Thank all and best regards
>>
>> Adrian
>>
>>
>>

-- 
With best wishes,                    Alex Ott
http://alexott.net/
Twitter: alexott_en (English), alexott (Russian)

Reply via email to