【发布时间】:2017-04-13 17:46:41
【问题描述】:
我正在尝试从已安装在 AWS ec2 中的 cassandra 获取数据。 当我通过 pyspark 运行以下命令时,我可以从 AWS 读取数据, 但是,当我通过 spark-submit 提交相同的 python 文件时,我正在从本地获取 rdd。你能建议我哪里缺少配置吗?
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?它应该是节点的公共 IP,应该在您的 yaml 中定义为
listen_address或rpc_address。 -
是的,我已经相应地更改了我的 yaml。是的,我可以通过传递 --conf spark.cassandra.connection.host=ip 作为 spark -submit 的参数来解决这个问题。
标签: amazon-web-services apache-spark cassandra pyspark