Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.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
Scala Spark-如何在数据集中不存在父元素的已定义继承人权限上进行汇总_Scala_Apache Spark_Apache Spark Sql - Fatal编程技术网

Scala Spark-如何在数据集中不存在父元素的已定义继承人权限上进行汇总

Scala Spark-如何在数据集中不存在父元素的已定义继承人权限上进行汇总,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我正在尝试创建一个spark应用程序来在分层数据集上进行聚合 示例场景如下所示 我有一个包含以下行的数据集 我在数据库中定义了类别的层次结构。我的层次结构如下 我需要类别层次结构中每个元素的聚合结果 与此类似,我需要层次结构节点中所有元素的计数 预期输出: 我假设不存在的“父元素”是4002,因为它在您的层次结构中,不是在您的输入中,而是在您的输出中。如果不是,你真的需要更具体一些 在任何情况下,都应该将“层次结构”数据集读入第二个数据帧,并将其连接到第一个数据帧。但你必须确保它准备妥当 一

我正在尝试创建一个spark应用程序来在分层数据集上进行聚合

示例场景如下所示

我有一个包含以下行的数据集

我在数据库中定义了类别的层次结构。我的层次结构如下

我需要类别层次结构中每个元素的聚合结果

与此类似,我需要层次结构节点中所有元素的计数

预期输出:

我假设不存在的“父元素”是4002,因为它在您的层次结构中,不是在您的输入中,而是在您的输出中。如果不是,你真的需要更具体一些

在任何情况下,都应该将“层次结构”数据集读入第二个数据帧,并将其连接到第一个数据帧。但你必须确保它准备妥当

一个好的方法是将层次结构反规范化一点。把它变成这样:

类别|父类别

因此,类别4020将有3行:

Category | Parent Category
4020     | 4015
4020     | 4002
4020     | 4000

然后,在将数据连接到该列后,您可以按每个值列的父类别和日期进行简单的聚合/求和。

您是否可以共享所需的表结构?或者,如果它不是一个表,您需要输入和输出的示例代码?(一个函数是否有positiveCount、categoryId和date参数?)不清楚的例子。@Gofrette-我已经根据你的建议更新了数据集。请喝一杯look@thebluephantom更新了问题。请看一看,我假设层次结构是一个单独的数据集,示例都在一行上。我还为4020 | 4020添加了一个条目。