簡體   English   中英

如何啟用從Cassandra到Spark的流媒體?

[英]How to enable streaming from Cassandra to 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() 

當我運行它時,它給我以下錯誤

ERROR StreamingContext: Error starting the context, marking it as stopped
java.lang.IllegalArgumentException: requirement failed: \
No output operations registered, so nothing to execute

我運行的shell腳本

./bin/spark-submit --packages TargetHolding:pyspark-cassandra:0.2.4 example
s/src/main/python/test/reading-cassandra.py

比較火花流與kafka,我從上面的代碼中遺漏了這一行:

kafkaStream = KafkaUtils.createStream(stream, 'localhost:2181', "name", {'topic':1})

我實際上在使用createStream但對於cassandra,我在文檔上看不到這樣的內容。 如何啟動spark streaming和cassandra之間的流媒體?

版本

Cassandra v2.1.12
Spark v1.4.1
Scala 2.10

要從Cassandra表創建DStream,可以使用ConstantInputDStream提供從Cassandra表創建的RDD作為輸入。 這將導致RDD在每個DStream間隔上實現。

請注意,大小不斷增大的大型表或表會對Streaming作業的性能產生負面影響。

另請參閱: 使用Spark Streaming從Cassandra中讀取示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM