2017-04-13 11 views
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 
+1

どのIPに接続しようとしていますか?それはあなたの 'listen_address'または' rpc_address'のいずれかとしてyamlに定義されるノードのパブリックIPでなければなりません。 – Aaron

+1

うん、私はそれに応じて私のyamlを変更しました。そして、私はspark-submishの引数として--conf spark.cassandra.connection.host = ipを渡すことでこれを解決することができました。 – Rakesh

答えて

2

私はスパーク-submitの引数として--conf spark.cassandra.connection.host = IPを渡すことによって、この問題を解決することができました。

関連する問題