2017-04-13 135 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?它应该是节点的公共IP,它应该在yaml中定义为“listen_address”或“rpc_address”。 – Aaron

+1

是的,我已经相应地改变了我的yaml。而且,我可以通过传递--conf spark.cassandra.connection.host = ip作为spark -smit的参数来解决这个问题。 – Rakesh

回答

2

我能通过传递--conf spark.cassandra.connection.host = ip作为spark -submit的参数来解决这个问题。

相关问题