2

我正在使用一个具有 1 个主节点和 2 个工作节点的 3 节点独立 spark 集群,以及一个 2 节点 cassandra 环,这是我正在尝试做的示例代码

SparkConf conf = new SparkConf(true);
SparkContext sc = new SparkContext(HOST, APP_NAME, conf);

String query = "Select address from " + CASSANDRA_KEYSPACE + "." + CASSANDRA_COLUMN_FAMILY + " where ras_ = '01'";

CassandraSQLContext sqlContext = new CassandraSQLContext(sc);
DataFrame resultsFrame = sqlContext.sql(query);

JavaRDD<Row> resultsRDD = resultsFrame.javaRDD();
JavaRDD<String> dataRDD = resultsRDD.map(row -> row.getString(0));

dataRDD.saveAsTextFile("output");

从 中System.out.println,我知道我有一些数据作为查询的结果,但是在我的项目主页中,在output目录中,我得到的唯一文件是_SUCCESS并且._SUCCESS.crc没有part-*文件。这是预期的行为吗?如果没有,我哪里错了?

4

1 回答 1

0

好吧,看起来我们的情况相同,因为我们都使用多个节点,结果文件不能保证保存在哪个节点上。

就我而言,它没有保存在我运行脚本的主服务器上,而是保存在其中一个从服务器上。

希望有帮助。

于 2017-01-06T06:48:19.533 回答