apache-spark - Spark RDD是存储在 block 中还是存储在内存中?关于Spark的查询很少

标签 apache-spark rdd

关于Spark RDD的问题很少。有人可以启发我。

  • 我可以看到RDD分布在各个节点上,这是否意味着
    分布式RDD缓存在每个节点的内存中,或将RDD数据
    驻留在hdfs磁盘上。或仅当任何应用程序运行RDD数据时,
    缓存在内存中?
  • 我的理解是,当我基于存在的文件创建RDD时
    在hdfs块上,RDD将首次从以下位置读取数据(I / O操作)
    块,然后将其持久地缓存。至少要有一次
    从磁盘读取数据,是真的吗???
  • 是否可以将外部数据直接缓存到RDD中?
    首先将数据存储在hdfs中,然后从hdfs块加载到RDD中的方法是什么?
    目的是先将数据存储到hdfs,然后再将其加载到
    在内存中会出现延迟?
  • 最佳答案

  • Rdd是类似于数组和列表的数据结构。当您在本地模式下创建RDD时(例如:加载文件),它将存储在笔记本电脑中。如果您使用的是hdfs,它将存储在hdfs中。记住在磁盘上。
    如果要将其存储在高速缓存中(在RAM中),则可以使用cache()函数。
  • 希望您也从第一个问题中得到第二个问题的答案。
  • 是的,您可以直接从笔记本电脑加载数据,而无需将其加载到hdfs中。
  • val newfile = sc.textFile("file:///home/user/sample.txt")
    指定文件路径。
    默认情况下,spark将hdfs作为存储,您可以使用上述行来更改它。

    不要忘记放三个///:
    file:///    
    

    关于apache-spark - Spark RDD是存储在 block 中还是存储在内存中?关于Spark的查询很少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36533847/

    相关文章:

    performance - 在spark中使用scala将预测结果保存到HDFS表中在yarn-cluster模式下非常慢

    scala - 缓存与 localCheckpoint 以及如何阻止 Spark 删除它?

    scala - 值 reduceByKey 不是 org.apache.spark.rdd.RDD 的成员

    hadoop - Spark RDD - 分区总是在 RAM 中吗?

    position - 如何获取Spark RDD中元素的位置?

    hadoop - 无法在 Spark API 中打印/记录消息

    scala - 如何使用 Map[String,Long] 列作为 DataFrame 的头部并保留类型?

    xml - 使用scala解析xml文件

    hadoop - Spark 1.3.0 : Running Pi example on YARN fails

    java - javardd中如何通过header进行过滤?