gpt4 book ai didi

hadoop - Apache Spark JDBCRDD 使用 HDFS 吗?

转载 作者:可可西里 更新时间:2023-11-01 14:33:28 27 4
gpt4 key购买 nike

Apache Spark JDBCRDD 是否使用 HDFS 来存储数据库记录并将其分发到工作节点?我们正在使用 JdbcRDD 与 apache spark 上的数据库进行交互。我们想知道 Apache Spark 是使用 HDFS 来分发和存储数据库表记录还是工作节点直接与数据库交互。

最佳答案

JdbcRDD不使用HDFS,直接从JDBC连接读取数据到worker内存中的RDD。如果您想要 HDFS 上的结果,您必须明确地将 RDD 持久化到 HDFS。

你可以在这里看到 JdbcRDD 是如何运作的 https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/JdbcRDD.scala

RDD 必须实现一个compute 方法,该方法为 RDD 中每个分区的值返回一个迭代器。 JdbcRDD 实现只是包装了一个 JDBC 结果集迭代器:

override def getNext(): T = {
if (rs.next()) {
mapRow(rs)
} else {
finished = true
null.asInstanceOf[T]
}
}

关于hadoop - Apache Spark JDBCRDD 使用 HDFS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31828355/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com