提取嵌套Spark DataFrame中的列作为Scala数组

拉斐尔·罗斯(Raphael Roth)

我有一个DataFrame myDf,其中包含成对的点(即x和y坐标)对数组,它具有以下架构:

myDf.printSchema

root
 |-- pts: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- x: float (nullable = true)
 |    |    |-- y: float (nullable = true)

我想得到xy作为单个普通ScalaArray的。我认为我需要应用爆炸功能,但我不知道如何操作。我尝试应用解决方案,但无法正常工作。

我在Scala 2.10中使用Spark 1.6.1

编辑:我意识到我有一个误解Spark的工作原理,只有在收集数据(或使用UDF)的情况下才有可能获得实际的数组

拉斐尔·罗斯(Raphael Roth)

有两种方法可以将点作为平面scala数组:

收集给司机:

val localRows = myDf.take(10)
val xs: Array[Float] = localRows.map(_.getAs[Float]("x"))
val ys: Array[Float] = localRows.map(_.getAs[Float]("y"))

或在UDF中:

val processArr = udf((pts:WrappedArray[Row]) => {

  val xs: Array[Float] = pts.map(_.getAs[Float]("x")).array
  val ys: Array[Float] = pts.map(_.getAs[Float]("y")).array
  //...do something with it
})

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Spark中嵌套的,标记的数组中提取DataFrame

来自分类Dev

从 UDF 内的 Spark SQL 行中提取嵌套数组

来自分类Dev

数据框列中的嵌套列表,提取数据框列中的列表值Pyspark Spark

来自分类Dev

使用Spark中的数据集API提取对象中的嵌套对象

来自分类Dev

Spark Dataframe groupBy以序列作为键参数

来自分类Dev

Spark Dataframe groupBy以序列作为键参数

来自分类Dev

在Scala Spark中嵌套RDD

来自分类Dev

在 Presto 中提取嵌套的嵌套 JSON 数组

来自分类Dev

重命名Scala Spark Dataframe中的嵌套元素

来自分类Dev

将嵌套数组加载到Spark DataFrame列中

来自分类Dev

在Spark DataFrame中展平嵌套数组

来自分类Dev

提取嵌套数组中的相关值

来自分类Dev

提取嵌套数组中的相关值

来自分类Dev

在 Spark Dataframe 中提取数组索引

来自分类Dev

在Spark中嵌套JSON

来自分类Dev

如何从MapType Scala Spark列提取数据作为Scala Map?

来自分类Dev

如何从Spark Scala中的多个数组创建DataFrame?

来自分类Dev

在Spark Scala中引用Java嵌套类

来自分类Dev

Spark:从嵌套DataFrame中打印元素

来自分类Dev

使用Scala提取嵌套的JSON元素

来自分类Dev

Spark DataFrame 将多列聚合为一列作为字符串

来自分类Dev

Spark:从Scala的嵌套数组中删除第一个数组

来自分类Dev

在Presto中提取复杂的嵌套JSON数组

来自分类Dev

Hive 从嵌套数组中提取数据

来自分类Dev

PHP StdObject 如何提取嵌套数组

来自分类常见问题

提取dplyr tbl列作为向量

来自分类Dev

从pandas groupby中提取列作为向量

来自分类Dev

将Dataset中的嵌套json字符串转换为Spark Scala中的Dataset / Dataframe

来自分类Dev

使用列作为列索引从R中的数据框中提取值

Related 相关文章

热门标签

归档