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
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
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