我正在与Cassandra连接spark并且我在Cassandra中存储csv文件,当我输入此命令时出现错误 .
dfprev.write.format("org.apache.spark.sql.cassandra") .options(Map("keyspace"->"sensorkeyspace","table"->"sensortable")).save()
然后我收到了这个错误 .
java.io.IOException:无法在{127.0.0.1}打开与Cassandra的本机连接:9042 at com.datastax.spark.connector.cql.CassandraConnector $ .com $ datastax $ spark $ connector $ cql $ CassandraConnector $$ createSession (CassandraConnector.scala:168)at com.datastax.spark.connector.cql.CassandraConnector $$ anonfun $ 8.apply(CassandraConnector.scala:154)at com.datastax.spark.connector.cql.CassandraConnector $$ anonfun $ 8.apply (CassandraConnector.scala:154)com.datastax.spark.connector.cql.RefCountedCache.createNewValueAndKeys(RefCountedCache.scala:32)at com.datastax.spark.connector.cql.RefCountedCache.syncAcquire(RefCountedCache.scala:69)
2 回答
你是Cassandra在
localhost
听吗?您可能需要通过在Spark配置中指定spark.cassandra.connection.host
设置来配置Cassandra集群的IP地址列表 . 有关详细信息,请参阅documentation .可能存在以下任何一种情况
请检查cassandra是否正在使用 netstat -an 命令侦听端口9042 .
请确保您已在库依赖项中添加了正确版本的cassandra连接器
“com.datastax.spark”%%“spark-cassandra-connector”%“2.0.0-M3”
要指定的包,
spark-shell --packages“com.datastax.spark”:“spark-cassandra-connector_2.11”:“2.0.0-M3”