MCPcopy Index your code
hub / github.com/apache/cassandra-analytics

github.com/apache/cassandra-analytics @cassandra-analytics-0.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release cassandra-analytics-0.4.0 ↗ · + Follow
9,450 symbols 41,946 edges 1,044 files 1,967 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cassandra Analytics

Cassandra Spark Bulk Reader

The open-source repository for the Cassandra Spark Bulk Reader. This library allows integration between Cassandra and Spark job, allowing users to run arbitrary Spark jobs against a Cassandra cluster securely and consistently.

This project contains the necessary open-source implementations to connect to a Cassandra cluster and read the data into Spark.

For example usage, see the example repository; sample steps:

import org.apache.cassandra.spark.sparksql.CassandraDataSource
import org.apache.spark.sql.SparkSession

val sparkSession = SparkSession.builder.getOrCreate()
val df = sparkSession.read.format("org.apache.cassandra.spark.sparksql.CassandraDataSource")
                          .option("sidecar_contact_points", "localhost,localhost2,localhost3")
                          .option("keyspace", "sbr_tests")
                          .option("table", "basic_test")
                          .option("DC", "datacenter1")
                          .option("createSnapshot", true)
                          .option("numCores", 4)
                          .load()

Cassandra Spark Bulk Writer

The Cassandra Spark Bulk Writer allows for high-speed data ingest to Cassandra clusters running Cassandra 3.0 and 4.0.

Developers interested in contributing to the Analytics library, please see the DEV-README.

Getting Started

For example usage, see the example repository. This example covers both setting up Cassandra 4.0, Apache Sidecar, and running a Spark Bulk Reader and Spark Bulk Writer job.

Contributing

Contributions are welcome!

Please join us on #cassandra-dev in ASF Slack.

Issues are tracked in JIRA.

Extension points exported contracts — how you extend this code

SparkType (Interface)
This interface and the inheriting classes define the Spark equivalents to the Cassandra CQL data types. Each CQL type sh [10 …
cassandra-analytics-spark-converter/src/main/java/org/apache/cassandra/spark/data/converter/types/SparkType.java
ExecutableAction (Interface)
Encapsulates action to be executed inside the classloader @param return type [6 implementers]
cassandra-analytics-integration-framework/src/main/java/org/apache/cassandra/testing/IsolatedDTestClassLoaderWrapper.java
StartupValidatable (Interface)
An interface for a class that requires and can perform startup validation using StartupValidator [7 implementers]
cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/validation/StartupValidatable.java
StartupValidation (Interface)
An interface that has to be implemented by all startup validations [6 implementers]
cassandra-analytics-sidecar-client/src/main/java/org/apache/cassandra/spark/validation/StartupValidation.java
KafkaProducerFactory (Interface)
Factory for creating KafkaProducer instances. The #DEFAULT implementation creates a standard {@link [15 implementers]
cassandra-analytics-cdc-codec/src/main/java/org/apache/cassandra/cdc/kafka/KafkaProducerFactory.java
TokenOwner (Interface)
Token owner owns a token [10 implementers]
cassandra-analytics-common/src/main/java/org/apache/cassandra/spark/data/model/TokenOwner.java
SidecarInstancesProvider (Interface)
A class that provides the list of SidecarInstances. This class allows for statically or dynamically providing a [4 implementers]
analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/SidecarInstancesProvider.java
Writer (Interface)
(no doc) [24 implementers]
cassandra-bridge/src/main/java/org/apache/cassandra/bridge/CassandraBridge.java

Core symbols most depended-on inside this repo

get
called by 1459
cassandra-analytics-common/src/main/java/org/apache/cassandra/cdc/api/Row.java
valueOf
called by 596
cassandra-analytics-common/src/main/java/org/apache/cassandra/spark/data/ReplicationFactor.java
stream
called by 490
analytics-sidecar-client/src/main/java/org/apache/cassandra/sidecar/client/HttpClient.java
add
called by 473
cassandra-analytics-common/src/main/java/org/apache/cassandra/cdc/api/CommitLogInstance.java
of
called by 470
cassandra-analytics-common/src/main/java/org/apache/cassandra/cdc/api/CommitLogMarkers.java
put
called by 440
cassandra-analytics-common/src/main/java/org/apache/cassandra/spark/data/CassandraTypes.java
size
called by 289
cassandra-analytics-common/src/main/java/org/apache/cassandra/spark/utils/streaming/CassandraFileSource.java
build
called by 276
cassandra-analytics-common/src/main/java/org/apache/cassandra/spark/data/CqlField.java

Shape

Method 8,113
Class 1,135
Interface 166
Enum 36

Languages

Java100%

Modules by API surface

cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/SqlToCqlTypeConverter.java82 symbols
cassandra-analytics-common/src/main/java/org/apache/cassandra/spark/data/CqlField.java80 symbols
cassandra-bridge/src/testFixtures/java/org/apache/cassandra/spark/utils/test/TestSchema.java71 symbols
cassandra-bridge/src/main/java/org/apache/cassandra/bridge/CassandraBridge.java70 symbols
analytics-sidecar-client/src/testFixtures/java/org/apache/cassandra/sidecar/client/SidecarClientTest.java66 symbols
cassandra-five-zero-bridge/src/main/java/org/apache/cassandra/spark/reader/SSTableReader.java59 symbols
cassandra-analytics-core/src/test/java/org/apache/cassandra/spark/bulkwriter/MockBulkWriterContext.java59 symbols
cassandra-four-zero-bridge/src/main/java/org/apache/cassandra/spark/reader/SSTableReader.java58 symbols
cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/BulkSparkConf.java57 symbols
cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/data/CassandraDataLayer.java54 symbols
cassandra-analytics-core/src/test/java/org/apache/cassandra/spark/reader/DataTypeSerializationTests.java51 symbols
cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/data/ClientConfig.java51 symbols

For agents

$ claude mcp add cassandra-analytics \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page