Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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_Flatmap_Spark Jobserver - Fatal编程技术网

Scala Spark展平数据帧

Scala Spark展平数据帧,scala,apache-spark,apache-spark-sql,flatmap,spark-jobserver,Scala,Apache Spark,Apache Spark Sql,Flatmap,Spark Jobserver,spark入门我想知道如何flatmap或分解数据帧 它是使用df.groupBy(“columName”).count创建的,如果我收集它,它具有以下结构: [[Key1, count], [Key2, count2]] 但我更喜欢吃像这样的东西 Map(bar -> 1, foo -> 1, awesome -> 1) 实现这种目标的正确工具是什么?平面图,爆炸还是别的 上下文:我想使用spark jobserver。如果我以后一种形式提供数据,它似乎只能提供有意义

spark入门我想知道如何
flatmap
分解数据帧

它是使用
df.groupBy(“columName”).count创建的,如果我收集它,它具有以下结构:

 [[Key1, count], [Key2, count2]] 
但我更喜欢吃像这样的东西

Map(bar -> 1, foo -> 1, awesome -> 1)
实现这种目标的正确工具是什么?平面图,爆炸还是别的


上下文:我想使用spark jobserver。如果我以后一种形式提供数据,它似乎只能提供有意义的结果(例如,一个有效的json序列化)。我假设您正在数据帧上调用
collect
collectAsList
?这将返回一个
数组[Row]
/
列表[Row]

如果是这样-将这些转换为映射的最简单方法是使用底层RDD,将其重新编码映射为键值元组,并使用
collectAsMap

def counted = df.groupBy("columName").count()
// obviously, replace "keyColumn" and "valueColumn" with your actual column names
def result = counted.rdd.map(r => (r.getAs[String]("keyColumn"), r.getAs[Long]("valueColumn"))).collectAsMap()

result
的type
Map[String,Long]
与预期一致。

不幸的是(尽管格式现在与WordCount示例相同,但我仍然没有收到JSON,而是收到我的映射…”“我仍然没有收到JSON,而是收到我的映射”…你是什么意思?在哪里?你正在通过服务器的REST API运行作业(例如,使用
curl
)还是在作业本身中运行main?如果是后者,当然你会得到map而不是JSON,当你调用一个返回
map
的方法时,它返回一个
map
,这没有什么神奇的。字数返回{“result”:{“a”:2,“b”:2,“see”:1,“c”:1}“结果”:“我的工作地图(1364767200000->1.951741400412122625E15、138057840000->6.9480992806496976E16)”