当前位置: 首页 > 知识库问答 >
问题:

Spark RDD-映射与映射分区

谷梁德容
2023-03-14

我通读了地图和地图分区之间的理论差异,

但我下面描述的问题更多地基于GC活动

=

=

提前感谢。任何帮助都将不胜感激。

共有2个答案

洪子晋
2023-03-14

回答关于mapPartition的问题(f:迭代器)=

需要提到的一件事是,您可以强制您的函数将数据具体化为mem,只需执行以下操作:

rdd.mapPartition(
  partitionIter => {
    partitionIter.map(do your logic).toList.toIterator
  }
)

toList将迫使Spark将整个分区的数据具体化为mem,因此要注意这一点,因为像toList这样的操作将打破功能链的惰性。

杨景山
2023-03-14

如果你考虑JavaRDD. map分区,它需要FlatMap函数(或者像DoubleFlatMap函数这样的变体),它需要返回Iterator而不是Iterable。如果基础集合是懒惰的,那么你就没什么好担心的了。

RDD. map分区Iterator获取一个函数到Iterator

I概述如果使用参考数据,可以用map替换mapPartitions,并使用静态成员存储数据。这将有相同的足迹,并将更容易编写。

 类似资料:
  • 我正在使用Hibernate和JPA注释来映射我的类。当hibernate尝试映射这个类时,我遇到了一个问题 我的Social alStat类是: 我得到了这个错误: 我猜发生这种情况是因为我试图映射到一个基本类,但@ElementCollection注释不应该解决这个问题吗? 我的item类如下所示:

  • 前端将这个json发送到我的API 控制器:

  • 前缀映射,后缀映射和缓存映射 通过 names.NewPrefixMapper(names.SnakeMapper{}, "prefix") 可以创建一个在 SnakeMapper 的基础上在命名中添加统一的前缀,当然也可以把 SnakeMapper{} 换成 SameMapper 或者你自定义的 Mapper。 例如,如果希望所有的表名都在结构体自动命名的基础上加一个前缀而字段名不加前缀,则可以

  • 又称关联数组(associative array)或字典(dictionary),是以 [键, 值] 有序对为数据形态的数据结构,其中键名用来查询特定元素。

  • 将一个范围的数字映射到另一个范围 用法 Your browser does not support the video tag. 案例:数据变化趋势 功能:加入映射和不加映射的折线图形成对比,显示数字改变的规律 工作原理 从配置项中设定两个范围。输入将会按照指定的范围映射。 Example: make a thermometer. The temperature (0~50) is scaled

  • 问题内容: 我一直在研究一个非常简单的JPA示例,并试图将其调整为现有数据库。但是我无法克服这个错误。(下面。)这只是我没看到的一些简单的事情。 在下面的DocumentManager类中(一个简单的servlet,因为这是我的目标),它做了两件事: 插入一行 返回所有行 插入效果很好-一切都很好。问题出在检索上。我尝试了各种参数值,但没有走运,并且尝试了各种更复杂的类注释(如列类型),但都没有成