Skip to content

Cassandra

Bases: Spout

__init__(output, state, **kwargs)

Initialize the Cassandra class.

Parameters:

Name Type Description Default
output BatchOutput

An instance of the BatchOutput class for saving the data.

required
state State

An instance of the State class for maintaining the state.

required
**kwargs Any

Additional keyword arguments.

{}

Using geniusrise to invoke via command line

genius Cassandra rise \
    batch \
        --output_s3_bucket my_bucket \
        --output_s3_folder s3/folder \
    none \
    fetch \
        --args hosts=localhost keyspace=my_keyspace query="SELECT * FROM my_table" page_size=100

Using geniusrise to invoke via YAML file

version: "1"
spouts:
    my_cassandra_spout:
        name: "Cassandra"
        method: "fetch"
        args:
            hosts: "localhost"
            keyspace: "my_keyspace"
            query: "SELECT * FROM my_table"
            page_size: 100
        output:
            type: "batch"
            args:
                bucket: "my_bucket"
                s3_folder: "s3/folder"

fetch(hosts, keyspace, query, page_size=100)

📖 Fetch data from a Cassandra database and save it in batch.

Parameters:

Name Type Description Default
hosts str

Comma-separated list of Cassandra hosts.

required
keyspace str

The Cassandra keyspace to use.

required
query str

The CQL query to execute.

required
page_size int

The number of rows to fetch per page. Defaults to 100.

100

Raises:

Type Description
Exception

If unable to connect to the Cassandra cluster or execute the query.