-3
嗨,我是一名使用java的apache spark的新學員 這是一種正確的方法嗎? 這段代碼正在工作,但性能非常緩慢,我不知道哪一個是訪問每個循環數據的最佳方法。使用Apache-Spark-SQL訪問數據庫
Dataset<Row> javaRDD = sparkSession.read().jdbc(dataBase_url, "sample", properties);
javaRDD.toDF().registerTempTable("sample");
Dataset<Row> Users = sparkSession.sql("SELECT DISTINCT FROM_USER FROM sample ");
List<Row> members = Users.collectAsList();
for (Row row : members) {
Dataset<Row> userConversation = sparkSession.sql("SELECT DESCRIPTION FROM sample WHERE FROM_USER ='"+ row.getDecimal(0) +"'");
userConversation.show();
}
您正在爲循環的每次迭代執行查詢。這總是會很慢。 – Kayaman
thnx,使用spark代碼訪問它的任何其他方法? – saara
當然。如果做事情的唯一方式是緩慢和不好的方式,那就沒有什麼用處了。 – Kayaman