Apache spark 火花流到卡桑德拉,而不是分散
我正在尝试将spark stream持久化到Cassandra,以下是我的代码:Apache spark 火花流到卡桑德拉,而不是分散,apache-spark,cassandra,spark-streaming,Apache Spark,Cassandra,Spark Streaming,我正在尝试将spark stream持久化到Cassandra,以下是我的代码: JavaDStream<BusinessPointNYCT> studentFileDStream = m_JavaStreamingContext.textFileStream(new File(fileDir, "BUSINESSPOINTS_NY_CT.csv").getAbsolutePath()).map(new BusinessPointMapFunction()); //Save
JavaDStream<BusinessPointNYCT> studentFileDStream = m_JavaStreamingContext.textFileStream(new File(fileDir, "BUSINESSPOINTS_NY_CT.csv").getAbsolutePath()).map(new BusinessPointMapFunction());
//Save it to Cassandra
CassandraStreamingJavaUtil.javaFunctions(studentFileDStream)
.writerBuilder("spatial_keyspace", "businesspoints_ny_ct", mapToRow(BusinessPointNYCT.class)).saveToCassandra();
我还从Cassandara客户端验证了它,它没有返回任何数据:
CassandraSimpleClient client = new CassandraSimpleClient();
client.connect("127.0.0.1");
//Session session = cluster.connect(“Your keyspace name”);
Session session = client.getActiveCluster().connect("spatial_keyspace");
ResultSet result = session.execute("SELECT * FROM spatial_keyspace.BUSINESSPOINTS_NY_CT");
我被困在这里,spark streaming不是从文本文件获取数据吗?需要帮助!!。谢谢
它不适用于我,我认为它只适用于HDFS,所以我将其更改为socket textStream(),这很好
m_JavaStreamingContext.socketTextStream("IN-6WX6152", 9090);
它不是删除。日志只是说RDD对象从列表中删除以释放Spark内存。在保存到Cassandra之前,请尝试打印出
studentFileDStream
的内容。如果我没有使用Cassandra,只是简单地使用Spark SQL执行一些查询,那么它可能是空的。函数的作用是只打印时间戳。
m_JavaStreamingContext.socketTextStream("IN-6WX6152", 9090);