Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mapreduce 带Spark的内存数据集_Mapreduce_Apache Spark_In Memory Database - Fatal编程技术网

Mapreduce 带Spark的内存数据集

Mapreduce 带Spark的内存数据集,mapreduce,apache-spark,in-memory-database,Mapreduce,Apache Spark,In Memory Database,从: Spark可以在内存中缓存数据集以加快重用。在这个例子中 如上所述,我们可以使用以下方法在RAM中加载错误消息: errors.cache() 我的理解是Spark默认执行内存中的所有操作 那么,如果操作的结果没有缓存,那么默认情况下会不会持久化到磁盘 或者这仅仅意味着操作的结果将在执行后保存在内存中 我的理解是Spark默认执行内存中的所有操作 不,实际上大多数操作符都没有在内存中缓存结果。您需要显式调用cache,将它们存储在内存中 那么,如果操作的结果没有缓存,那么默认情况下会不会持

从:

Spark可以在内存中缓存数据集以加快重用。在这个例子中 如上所述,我们可以使用以下方法在RAM中加载错误消息:
errors.cache()

我的理解是Spark默认执行内存中的所有操作

那么,如果操作的结果没有缓存,那么默认情况下会不会持久化到磁盘

或者这仅仅意味着操作的结果将在执行后保存在内存中

我的理解是Spark默认执行内存中的所有操作

不,实际上大多数操作符都没有在内存中缓存结果。您需要显式调用
cache
,将它们存储在内存中

那么,如果操作的结果没有缓存,那么默认情况下会不会持久化到磁盘

对于大多数运营商来说,Spark只是创建一个新的RDD来包装旧的RDD。从“”:

重要的是要理解,即使定义了RDD,它实际上并不包含数据。这意味着,当您访问RDD中的数据时,它可能会失败。在RDD中创建数据的计算仅在引用数据时进行;例如,它是通过缓存或写出RDD创建的。这意味着您可以将大量操作链接在一起,而不必担心过度阻塞。需要注意的是,在应用程序开发过程中,您可以编写代码、编译代码,甚至可以运行作业,并且除非您具体化RDD,否则您的代码甚至可能没有尝试加载原始数据

因此,在调用某些方法获取结果之前,计算不会开始。这里的物化操作符类似于,首先,collect,saveAsTextFile。除非调用缓存,否则结果不会存储在内存中

此外,《Spark快速数据处理》是一本学习Spark的好书