Giter Club home page Giter Club logo

spark-cassandra-connector's Introduction

Spark Cassandra Connector Build Status

Important notice : Do NOT use GitHub issue tracker!

We are going to disable it and no issues created there will be accessible.

If you have problems and you are looking for help, please use a forum at: https://groups.google.com/a/lists.datastax.com/forum/#!forum/spark-connector-user

If you want to report bugs, improvement or feature requests, please use JIRA at: https://datastax-oss.atlassian.net/browse/SPARKC

Lightning-fast cluster computing with Spark and Cassandra

This library lets you expose Cassandra tables as Spark RDDs, write Spark RDDs to Cassandra tables, and execute arbitrary CQL queries in your Spark applications.

Features

  • Compatible with Apache Cassandra version 2.0 or higher (see table below)
  • Compatible with Apache Spark 1.0 through 1.4 (see table below)
  • Compatible with Scala 2.10 and 2.11
  • Exposes Cassandra tables as Spark RDDs
  • Maps table rows to CassandraRow objects or tuples
  • Offers customizable object mapper for mapping rows to objects of user-defined classes
  • Saves RDDs back to Cassandra by implicit saveToCassandra call
  • Join with a subset of Cassandra data using joinWithCassandraTable call
  • Partition RDDs according to Cassandra replication using repartitionByCassandraReplica call
  • Converts data types between Cassandra and Scala
  • Supports all Cassandra data types including collections
  • Filters rows on the server side via the CQL WHERE clause
  • Allows for execution of arbitrary CQL statements
  • Plays nice with Cassandra Virtual Nodes
  • Works with PySpark DataFrames

Version Compatibility

The connector project has several branches, each of which map into different supported versions of Spark and Cassandra. Refer to the compatibility table below which shows the major.minor version range supported between the connector, Spark, Cassandra, and the Cassandra Java driver:

Connector Spark Cassandra Cassandra Java Driver
1.4 1.4 2.1, 2.0 2.1
1.3 1.3 2.1, 2.0 2.1
1.2 1.2 2.1, 2.0 2.1
1.1 1.1, 1.0 2.1, 2.0 2.1
1.0 1.0, 0.9 2.0 2.0

Download

This project has been published to the Maven Central Repository. For SBT to download the connector binaries, sources and javadoc, put this in your project SBT config:

libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector" % "1.4.0-M2"

If you want to access the functionality of Connector from Java, you may want to add also a Java API module:

libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector-java" % "1.4.0-M2"

Building

See Building And Artifacts

Documentation

Community

Reporting Bugs

New issues should be reported using JIRA. Please do not use the built-in GitHub issue tracker. It is left for archival purposes and it will be disabled soon.

Mailing List

Questions etc can be submitted to the user mailing list.

Contributing

To develop this project, we recommend using IntelliJ IDEA. Make sure you have installed and enabled the Scala Plugin. Open the project with IntelliJ IDEA and it will automatically create the project structure from the provided SBT configuration.

Before contributing your changes to the project, please make sure that all unit tests and integration tests pass. Don't forget to add an appropriate entry at the top of CHANGES.txt. Finally open a pull-request on GitHub and await review.

If your pull-request is going to resolve some opened issue, please add Fixes #xx at the end of each commit message (where xx is the number of the issue).

Testing

To run unit and integration tests:

./sbt/sbt test
./sbt/sbt it:test

By default, integration tests start up a separate, single Cassandra instance and run Spark in local mode. It is possible to run integration tests with your own Cassandra and/or Spark cluster. First, prepare a jar with testing code:

./sbt/sbt test:package

Then copy the generated test jar to your Spark nodes and run:

export IT_TEST_CASSANDRA_HOST=<IP of one of the Cassandra nodes>
export IT_TEST_SPARK_MASTER=<Spark Master URL>
./sbt/sbt it:test

License

Copyright 2014-2015, DataStax, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

spark-cassandra-connector's People

Contributors

pkolaczk avatar jacek-lewandowski avatar russellspitzer avatar alexoss68 avatar artem-aliev avatar tsindot avatar ash211 avatar miguelnmiranda avatar bcantoni avatar philipphoffmann avatar critikaled avatar granturing avatar omriiluz avatar snackycracky avatar twistedpair avatar holdenk avatar gchen avatar doanduyhai avatar chanderspechetty avatar anguslee avatar

Stargazers

 avatar  avatar José Manuel Díaz Sánchez avatar Juan Miguel Boyero Corral avatar Belén V Arenas avatar Mario Sánchez avatar Eva María Gaitán Cerezo avatar Daniel Carroza Santana avatar  avatar Jose Miguel Ruiz Sierra avatar Alberto Rodriguez avatar Carlos Galisteo avatar  avatar Max avatar gschiavon avatar Carlos García Martín avatar  avatar Alfonso Fernández avatar Abraham Navas avatar Charles Flores avatar Carlos Palomares Campos avatar  avatar Iñaki Tabernero avatar Aitor Argomaniz avatar Pedro Peñalver Yusta avatar Jose Núñez avatar Alfonso Roa avatar jpgilaberte avatar Francisco Huertas avatar Guillermo Jiménez García avatar Pablo Francisco Pérez Hidalgo avatar arincon avatar  avatar César Manrique Sánchez avatar Elena avatar Javier Santos avatar Daniel Vázquez Álvarez avatar Javier Cortejoso avatar Ramón Almestre avatar Santiago M. Mola avatar Miguel Angel Jimenez avatar  avatar Eduardo Alonso avatar Javier Sánchez Vaquerizo avatar Carlos Gomez Cainzos avatar David Vallejo avatar Marcos P. avatar  avatar Fernando Velasco avatar Jose Angel Santiago avatar Alicia Doblas avatar Mónica Aguilar Herrero avatar Sergio Gómez avatar Jose Manuel Gomez avatar Mario Muñoz avatar Gonzalo Bécares avatar Nacho Navarro Reus avatar Raul Saez Tapia avatar Enrique Ruiz avatar

Watchers

Alvaro Santos Andres avatar James Cloos avatar Jose Manuel Gomez avatar C. L. avatar Ignacio Mulas avatar David Vallejo avatar Fernando Apesteguía avatar Federico Salomone avatar Daniel Rodriguez avatar Javier Carravilla Altares avatar Antonio Alcocer avatar Javier Cortejoso avatar Carlos Gomez Cainzos avatar David Zamorano avatar Miguel Angel Fernandez Diaz avatar Roman Martin Gonzalez avatar Pablo J. Villacorta avatar  avatar Alberto Pérez avatar Hugo Viejo avatar Nacho Navarro Reus avatar  avatar David Morales avatar Alberto Rodriguez avatar Max avatar Juan Jose Lopez Martin avatar Alvaro Olmedo Mir avatar Hugo Domínguez Sanz avatar David Arroyo Cazorla avatar Guillermo Jiménez García avatar Jose Carlos Garcia Serrano avatar Daniel Vázquez Álvarez avatar David Gómez Pérez avatar Javier Almodóvar Gallardo avatar Andrés Navidad León avatar Santiago Sanchez Paz avatar Ivan Moreno avatar Mónica Aguilar Herrero avatar Loreto Fernández Costas avatar Jose Núñez avatar Jose Victor Marcos Martin avatar Jesus Cuesta avatar  avatar arincon avatar César Manrique Sánchez avatar Héctor Rodríguez Soto avatar Eduardo Alonso avatar  avatar  avatar Luis Díaz Fernández avatar  avatar Jose Miguel Ruiz Sierra avatar Carlos Gutiérrez Hernández avatar  avatar Marcos P. avatar Pedro Gutiérrez avatar Mario Arbesú avatar Aitor Argomaniz avatar  avatar  avatar  avatar Eva María Gaitán Cerezo avatar armando avatar  avatar Sergio Hernández Martínez avatar  avatar Andrés Díaz avatar Sergio avatar Carlos Huedo avatar  avatar  avatar  avatar Ángel Esteban avatar Juanjo García-Nuño avatar  avatar Mario Castro avatar  avatar daniel.vl avatar Carlos García Martín avatar  avatar  avatar  avatar Carlos Benito Palomares Campos avatar  avatar javierruiz-stratio avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.