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

在火花scalaGroupByKey($"coll")和GroupBy($"coll")之间的区别

农诚
2023-03-14

当我使用DF的列名作为参数时,与使用. GroupByKey. GroupBy有什么根本区别?

哪一个是省时的,每一个的确切含义是什么?当我通过一些例子时,请有人详细解释一下,但这是令人困惑的。

共有1个答案

呼延英奕
2023-03-14

没有groupByKey方法将作为参数。也有采用函数的方法:

def groupByKey[K](func: MapFunction[T, K], encoder: Encoder[K]): KeyValueGroupedDataset[K, T] 

def groupByKey[K](func: (T) ⇒ K)(implicit arg0: Encoder[K]): KeyValueGroupedDataset[K, T] 

与采用列的groupBy相比:

def groupBy(cols: Column*): RelationalGroupedDataset 

字符串

def groupBy(col1: String, cols: String*): RelationalGroupedDataset 

区别应该很明显——前两个方法返回的是KeyValueGroupedDataset(用于使用“functional”、“强类型API,如映射组(mapGroups)或约简组(ReduceGroup))进行处理),而后两个方法返回的是RelationalGroupedDataset(用于使用类似SQL的API进行处理)。

一般见:

  • 数据集API和数据帧API之间的差异
  • Spark 2.0数据集与数据帧
  • 数据帧(在Spark 2.0中,即数据集[行])和Spark中RDD之间的差异
 类似资料:
  • 我正在制作一个基于虫子“感知”和吃食物的网格风格游戏/模拟。我正在使用标签的gridPane(称为)来显示虫子和食物的网格。当虫子将细胞移向食物等时,这显然会不断更新。 我目前有一个函数,我想用在cell Content中具有新文本的标签替换[row, ol]处的标签。 我有一个有效的方法 然而,我担心这仅仅是在当前标签上添加了一个标签,显然超过100次的模拟迭代并不理想。 在添加标签之前,我已经

  • 我试图运行火花程序,在纱线客户端模式下使用火花提交,并获得类NotFindException。所以我的问题是我应该在哪个参数中传递我的jar(--jars或--drier-class-path)。 Spark=2.0.0 HDP 2.5 Hadoop=2.7.3

  • 问题内容: 我只是想知道这两个执行的功能有什么不同? 数据: as_index = False: reset_index(): 他们两个都给出完全相同的输出。 谁能告诉我有什么区别,还可以举例说明吗? 问题答案: 使用时,表示您不想将列ID设置为索引(duh!)。当两个实现产生相同的结果时,请使用,因为这样可以节省一些键入时间和不必要的pandas操作;) 但是,有时您想对组应用更复杂的操作。在这

  • 如何在2.1.1中存档相同的行为? 谢谢你。

  • 本文向大家介绍防火墙和防病毒之间的区别,包括了防火墙和防病毒之间的区别的使用技巧和注意事项,需要的朋友参考一下 防火墙和防病毒是保护系统不受病毒和其他木马攻击的两种措施,这些木马在连接时主要是通过网络或外部源引入或进入的使用System.Externalsource可能包括硬盘、笔驱动器、光盘等。。 基于这些漏洞,以下是防火墙和防病毒之间的主要区别。 序号 键 防火墙 防毒 1 定义 防火墙可以定

  • 我创建并持久化一个df1,然后在其上执行以下操作: 我有一个有16个节点的集群(每个节点有1个worker和1个executor,4个内核和24GB Ram)和一个master(有15GB Ram)。Spark.shuffle.Partitions也是192个。它挂了2个小时,什么也没发生。Spark UI中没有任何活动。为什么挂这么久?是dagscheduler吗?我怎么查?如果你需要更多的信息