-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