Ho il seguente lavoro scintilla:Come abilitare lo streaming da Cassandra a Spark?
from __future__ import print_function
import os
import sys
import time
from random import random
from operator import add
from pyspark.streaming import StreamingContext
from pyspark import SparkContext,SparkConf
from pyspark.streaming.kafka import KafkaUtils
from pyspark.sql import SQLContext, Row
from pyspark.streaming import StreamingContext
from pyspark_cassandra import streaming,CassandraSparkContext
if __name__ == "__main__":
conf = SparkConf().setAppName("PySpark Cassandra Test")
sc = CassandraSparkContext(conf=conf)
stream = StreamingContext(sc, 2)
rdd=sc.cassandraTable("keyspace2","users").collect()
#print rdd
stream.start()
stream.awaitTermination()
sc.stop()
Quando ho eseguito questo, mi dà il seguente errore:
ERROR StreamingContext: Error starting the context, marking it as stopped
java.lang.IllegalArgumentException: requirement failed: \
No output operations registered, so nothing to execute
lo script shell corro:
./bin/spark-submit --packages TargetHolding:pyspark-cassandra:0.2.4 example
s/src/main/python/test/reading-cassandra.py
Confronto longherone k streaming con Kafka, ho questa linea manca dal codice di cui sopra:
kafkaStream = KafkaUtils.createStream(stream, 'localhost:2181', "name", {'topic':1})
dove realtà sto usando createStream
ma per Cassandra, non riesco a vedere nulla di simile sui documenti. Come posso avviare lo streaming tra lo streaming di scintille e cassandra?
Versioni:
Cassandra v2.1.12
Spark v1.4.1
Scala 2.10
Vuoi trasmettere in streaming da Cassandra a Spark? Non penso che sia supportato al momento. Salvataggio dei dati di streaming * su * cassandra è supportato: https://github.com/datastax/spark-cassandra-connector/blob/master/doc/8_streaming.md – maasg
Sì, voglio trasmettere da CASSANDRA a SPARK. Pensavo di essere abbastanza vicino alla sceneggiatura che ho scritto, avevo solo bisogno di registrare un'operazione con lo stream, forse "createStream". So come passare dalla scintilla a cassandra. – HackCode
Vuoi trasmettere l'intera tabella ('cassandraTable (" keyspace2 "," users ")') ogni intervallo di tempo? – maasg