0
私はデータベースからSQLクエリを実行するためにSpark DataFrameReaderを使用します。実行されたクエリごとに、SparkSessionが必要です。私がしたいのは、各JavaPairRDDがマップを実行するため、このRDDのパラメータを使用してSQLクエリを呼び出すことです。これは、各ラムダでSparkSessionを渡す必要があることを意味します。これは悪い設計のようです。このような問題に共通するアプローチは何ですか?Apache Spark distributed sql
みたいに見えることができます:私は今、データをロードする方法
roots.map(r -> DBLoader.getData(sparkSession, r._1));
:
JavaRDD<Row> javaRDD = sparkSession.read().format("jdbc")
.options(options)
.load()
.javaRDD();
roots.map(r - > DBLoader.getData(sparkSession、r._1));正しいアプローチではありません。一般的に、セッションをラムダに渡す必要はありません。 – BDR