2017-04-13 5 views
2

Ich versuche, Daten von Cassandra, die in AWS ec2 installiert wurde, zu holen. Wenn ich die folgenden Befehle über pyspark ausführen, kann ich von AWS, lesen, aber wenn ich die gleiche Python-Datei durch Spark-Submit, ich rdd rdd von lokalen holen. Kannst du mir vorschlagen, wo ich die Konfiguration vermisse?Verbinden mit einem Client Cassandra von lokalen

from pyspark import SparkConf, SparkContext 
from pyspark.sql.session import SparkSession 

conf = SparkConf().setAppName("testCassandra").set("spark.cassandra.connection.host", "#ec2ip#").set("spark.cassandra.connection.port", "9042") 

sc = SparkContext(conf = conf) 
spark = SparkSession(sc) 

rdd = spark.read.format("org.apache.spark.sql.cassandra").options(table="tweettable", keyspace="twitterstorage",).load().rdd 
+1

Mit welcher IP-Adresse verbinden Sie sich? Es sollte die öffentliche IP-Adresse des Knotens sein, die in Ihrem yaml entweder als 'listen_address' oder' rpc_address' definiert sein sollte. – Aaron

+1

Ja, ich habe mein Yaml entsprechend geändert. Und ya, ich war in der Lage, dies zu lösen, indem ich config spark.cassandra.connection.host = ip als Argumente für den Spark-Submit übergebe. – Rakesh

Antwort

2

Ich konnte dies lösen, indem --conf spark.cassandra.connection.host = ip als Argumente für die Funken -submit vorbei.

Verwandte Themen