val df = sqlContext.phoenixTableAsDataFrame(
Metadata.tables(A.Test), Seq("ID", "date", "col1", "col2","col3"),
predicate = Some("\"date\" = " + date), zkUrl = Some(zkURL))
val df1 = df.groupBy($"ID", $"date").agg(
sum($"col1" + $"col2" + $"col3").alias("col4"))
ID,date,col1,col2,col3
1,2017-01-01,5,10,12
2,2017-01-01,6,9,17
3,2017-01-01,2,3,7
4,2017-01-01,5,11,13
ID,date,col4
1,2017-01-01,27
2,2017-01-01,32
3,2017-01-01,12
4,2017-01-01,29
我用下面的代码得到了一个正确的结果:
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{DataFrame, Row}
import org.apache.spark.sql.functions.{col, sum}
import org.apache.spark.sql.types.{IntegerType, StructField, StructType}
val rowsRdd: RDD[Row] = spark.sparkContext.parallelize(
Seq(
Row(1, 1, 5, 10, 12 ),
Row(2, 1, 6, 9, 17 ),
Row(3, 1, 2, 3, 7),
Row(4, 1, 5, 11, 13)
)
)
val schema: StructType = new StructType()
.add(StructField("id", IntegerType, false))
.add(StructField("date", IntegerType, false))
.add(StructField("col1", IntegerType, false))
.add(StructField("col2", IntegerType, false))
.add(StructField("col3", IntegerType, false))
val df0: DataFrame = spark.createDataFrame(rowsRdd, schema)
val df = df0.groupBy(col("id"), col("date")).agg(sum(col("col1") + col("col2") + col("col3")).alias("col4")).sort("id")
df.show()
结果是:
+---+----+----+
| id|date|col4|
+---+----+----+
| 1| 1| 27|
| 2| 1| 32|
| 3| 1| 12|
| 4| 1| 29|
+---+----+----+
这是你需要的吗?
我有一个elasticsearch请求如下: 我想在这个请求中添加分页,就像 我搜索了很多,找到了一个关于它的链接:https://github.com/elastic/elasticsearch/issues/4915. 但我仍然没有得到实现方法。 有没有办法通过Elasticsearch本身而不是我的应用程序来实现它?
问题内容: 我正在用Java编写密码,但不能做以下事情:我想编辑char数组的值来对其进行加密 我应该怎么做? 我不知道改变每个字符的ASCII值可能是答案。这就是为什么我问你们! 问题答案: 您可以在中添加一个,但结果是- 除非使用复合赋值运算符,否则必须将其转换回数组中: 要么 但是,通常这 不是 执行加密的适当方法。您通常会遇到无法打印的字符,甚至在Unicode中甚至没有特定含义的字符。取
在android studio中,我试图放入一个整数的ArrayList中,其中包含标签id如下所示
问题内容: 我只是在学习MySQL-是否有组合(或嵌套)聚合函数的方法? 给定一个查询: 这将给我每个用户回答的问题数量。我真正想要的是每个用户回答的平均问题数量…… 计算此统计信息的正确方法是什么? 如果有可能,是否有办法针对每个问题分解此统计信息?(用户可以多次回答相同的问题)。就像是: 问题答案: 您必须使用子查询: 您不能将一个聚合与另一个聚合一起包装。如果MySQL支持分析/排序/窗口功
抱歉,如果已经问过了,但一直潜伏在SO周围,找不到任何适合我需要的东西。 基本上,我在使用ES的第一次快速尝试中试图实现的是在术语聚合中添加更多计数器。 快速尝试一下,我将以下请求发送给ES。 我现在得到的只是样本在文档中显示的内容。 但是,我真的不知道如何在桶中包含更多的内部聚合。会导致这样的文档的东西。 我应该如何构造聚合,以便按桶包含这些聚合?