10. Características
RDD
Tabla
RDD
Tabla
Mapping
de
Filas
de
C*
como
Tuplas
Guarda
RDDs
en
C*(saveToCassandra)
Soporta
todos
los
Opos
de
datos
de
C*
Filtrado
de
filas
(en
C*)
mediante
Where
…
Más
en
la
web
oficial.
24. Modelo de Datos C*
//KeySpace
CREATE
KEYSPACE
demoCMU
WITH
replicaOon
=
{'class':
'SimpleStrategy',
'replicaOon_factor':1};
use
demoCMU;
//Tabla
CREATE
TABLE
demoCMU.asistentesCMU
(id
int
PRIMARY
KEY,
nombre
text,
genero
text);
CREATE
TABLE
demoCMU.asistentesCopia
(id
int
PRIMARY
KEY,
nombre
text
,
Opo
text);
//Registros
INSERT
INTO
demoCMU.asistentesCMU
(id,
nombre,
genero)
VALUES
(1,
'Ale
Murray',
'femenino');
INSERT
INTO
demoCMU.asistentesCMU
(id,
nombre,
genero)
VALUES
(2,
'Iñigo
Aldama',
'masculino');
INSERT
INTO
demoCMU.asistentesCMU
(id,
nombre,
genero)
VALUES
(3,
'Antonio',
'masculino');
…
INSERT
INTO
demoCMU.asistentesCMU
(id,
nombre,
genero)
VALUES
(32,
'Jesus
Arrabal',
'masculino');
25. Conexión al Conector (Spark-Shell)
scala>
sc.stop
scala>:paste
//
Entering
paste
mode
(ctrl-‐D
to
finish)
import
com.datastax.spark.connector._
//conector
datastax
spark+cassandra
import
org.apache.spark._
//conector
Spark
val
conf
=
new
SparkConf()
//creamos
una
configuración
conf.set("spark.cassandra.connecOon.host",
"10.211.55.8")
//añadimos
nuestro
host
de
C*
conf.set("spark.home",
"/opt/spark-‐1.0.2")
//establecemos
el
Home
de
Spark
val
sc
=
new
SparkContext("local[2]",
"Cassandra
Connector
Test",
conf)
//
Creamos
el
Contexto
//
ExiOng
paste
mode,
now
interpreOng.
27. Acceso a Tabla C*
scala>
val
tableCMU
=
sc.cassandraTable("democmu",
"asistentescmu")
tableCMU:
com.datastax.spark.connector.rdd.CassandraRDD[com.datastax.spark.connector.CassandraRow]
=
CassandraRDD[0]
at
RDD
at
CassandraRDD.scala:47
34. Y mucho más…
Working
with
user-‐defined
case
classes
and
tuples
Customizing
the
object
mapping
Using
Connector
in
Java
…
Visita:
hwps://github.com/datastax/spark-‐cassandra-‐connector/
35. Una cosa más…
@javituiter
www.franciscojavierpulido.com
36. Spark+Cassandra Streaming!
val
ssc
=
new
StreamingContext(sparkConf,
Seconds(1))
val
lines
=
ssc.socketTextStream(serverIP,
serverPort)