私は、cassandraテーブルのデータを取得してファイルシステム(Linuxファイルシステム)に保存する必要があります。csvファイルにspark rddを保存する方法
ファイルを複数のノードに分割しないでください。単一のノードに作成する必要があります。
スパークモードで動作する4つのノード(データストア)のcassandraクラスタがあります。 DSEのバージョン:5.0.1 スパークバージョン:1.6.1
Hereis私のサンプルコード:
val sc = new SparkContext(conf)
val sqlContext1 = new CassandraSQLContext(sc);
sqlContext1.setKeyspace("KeyspaceName");
val results = sqlContext1.sql("SELECT * FROM KeyspaceName.TableName");
results.collect().foreach(println);
今すぐ結果RDD。単一のノードでローカルファイルシステム(linux)に保存する必要があります。
私はいくつかのブログに従いましたが、うまくいきませんでした。これを解決するためのガイドがありますか?
私はcsvファイル機能を使用して試してみましたが、それは以下のエラーを投げています。.. スカラ>輸入org.apache.spark.sql.DataFrameWriter 輸入org.apache.spark.sql.DataFrameWriter スカラ>結果.write.csv( "ファイル://home/cassandra/test.csv"):85:エラー:値CSVがorg.apache.spark.sql.DataFrameWriter results.write.csvのメンバーではありません(」ファイル://home/cassandra/test.csv ") –
ああ、申し訳ありませんでしたが、あなたはスパーク1.6.1を使用していました。 csv関数はSpark 2.0で導入されました。アップグレードできない場合は、https://github.com/databricks/spark-csv – buubovich
sbtを使用している場合は、ライブラリ「libraryDependencies + =」comをインポートしてください。 databricks "%" spark-csv_2.11 "%" 1.5.0 "'。あなたのコードは次のようになります: 'results.write.format(" com.databricks.spark.csv ")。save(path_to_network_folder)' – buubovich