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

どちらも複数のノードを使用しているため、ここでは同じ状況にあるように見えますが、ファイルがどのノードに保存されるかは保証されていません。

私の場合、スクリプトを実行したマスターではなく、スレーブの1つに保存されました。

お役に立てば幸いです。

于 2017-01-06T06:48:19.533 に答える