我有一个包含以下数据的Spark数据框(我使用Spark csv加载数据):
key,value
1,10
2,12
3,0
1,20
是否有类似于spark RDD的东西可以返回spark数据帧:(基本上,对相同的键值求和)
key,value
1,30
2,12
3,0
(我可以将数据转换为RDD并执行reduceByKey操作,但是否有更具Spark DataFrame API的方法来实现这一点?)
这个怎么样?我同意这仍然转换为rdd然后转换为dataframe。
df.select('key','value').map(lambda x: x).reduceByKey(lambda a,b: a+b).toDF(['key','value'])
我认为用户goks遗漏了代码中的某些部分。它不是经过测试的代码。
.map应用于使用将rdd转换为pairRDD。映射(λx:(x,1))。还原键。。。。
ReporteByKey在单个值rdd或常规rdd上不可用,但对RDD可用。
谢谢
如果不关心列名,可以使用groupBy,后跟sum:
df.groupBy($"key").sum("value")
否则最好将sum
替换为agg
:
df.groupBy($"key").agg(sum($"value").alias("value"))
最后,您可以使用原始SQL:
df.registerTempTable("df")
sqlContext.sql("SELECT key, SUM(value) AS value FROM df GROUP BY key")
另请参见数据帧/数据集分组行为/优化
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 SQL LIKE 操作符 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 SQL LIKE 语法SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern; 演示数据库 在本教程中,我们将使用 RUNOOB 样本数据库。 下面是选自 "Web
我需要从具有以下条件的表中提取数据: 我编写的JPA存储库类类似于 如何在JPararePository Spring中查找多个like spring JpaRepository中的%like%查询
这是 Go 提供的操作 SQL/SQL-Like 数据库的通用接口,但 Go 标准库并没有提供具体数据库的实现,需要结合第三方的驱动来使用该接口。本书使用的是 mysql 的驱动:github.com/go-sql-driver/mysql。 注:该包有一个子包:driver,它定义了一些接口供数据库驱动实现,一般业务代码中使用 database/sql 包即可,尽量避免使用 driver 这个子
在 PostgreSQL 数据库中,我们如果要获取包含某些字符的数据,可以使用 LIKE 子句。 在 LIKE 子句中,通常与通配符结合使用,通配符表示任意字符,在 PostgreSQL 中,主要有以下两种通配符: 百分号 % 下划线 _ 如果没有使用以上两种通配符,LIKE 子句和等号 = 得到的结果是一样的。 语法 以下是使用 LIKE 子句搭配百分号 % 和下划线 _ 从数据库中获取数据的通
主要内容:语法,示例SQL LIKE 子句用于在 WHERE 语句中进行模糊匹配,它会将给定的匹配模式和某个字段进行比较,匹配成功则选取,否则不选取。 LIKE 子句可以和通配符一起使用: 通配符 说明 百分号(%) 代表零个、一个或者多个任意的字符。 下划线(_) 代表单个字符或者数字。 [charlist] 字符列表中的任何单一字符。可以使用连字符(-)根据 ASCII 编码指定一个字符范围,例如: [0-9]
问题内容: 我想搜索一个XML值列,看是否包含一个字符串。我不知道架构,我想知道字符串是否包含在任何地方。我不知道XPATH是否可以在这种情况下工作。 相当于 错误:参数数据类型xml对于同类函数的参数1无效。 相关表格列 我要搜索的项目应该是一个属性。因此,如果上述方法不可能实现,那么包含该属性的任何内容都将是一个不错的选择。 问题答案: 最简单(但绝对不是最快执行)的方法是在将列传递给之前将其