2
AWS ec2にインストールされているcassandraからデータを取得しようとしています。 pysparkで次のコマンドを実行すると、AWSから読み取ることができます しかし、私はspark-submitを使って同じpythonファイルを送信すると、ローカルからrddを取得しています。私は構成が不足している場所を教えてください。ローカルのクライアントcassandraに接続
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
どのIPに接続しようとしていますか?それはあなたの 'listen_address'または' rpc_address'のいずれかとしてyamlに定義されるノードのパブリックIPでなければなりません。 – Aaron
うん、私はそれに応じて私のyamlを変更しました。そして、私はspark-submishの引数として--conf spark.cassandra.connection.host = ipを渡すことでこれを解決することができました。 – Rakesh