【问题标题】:How to assign names to existing struct fields in inner row [duplicate]如何为内行中的现有结构字段分配名称[重复]
【发布时间】:2017-12-29 11:39:18
【问题描述】:

我有两个 seq 对象。 我正在使用

合并这两个对象
a.zip(b)

它给了我架构

 |    |-- element: struct (containsNull = true)
 |    |    |-- _1: string (nullable = true)
 |    |    |-- _2: double (nullable = false)

我希望该架构是

 |    |-- element: struct (containsNull = true)
 |    |    |-- name: string (nullable = true)
 |    |    |-- value: double (nullable = false)

如何转换?

它是现有行的内行

【问题讨论】:

  • ab 是什么?
  • a 和 b 分别是 seq[String] 和 seq[Double]

标签: scala apache-spark apache-spark-sql


【解决方案1】:

请检查代码

a.zip(b).toDF("name","value")

【讨论】:

  • 它给了我异常 java.lang.UnsupportedOperationException: org.apache.spark 不支持类型 org.apache.spark.sql.Dataset[org.apache.spark.sql.Row] 的模式.sql.catalyst.ScalaReflection$.schemaFor(ScalaReflection.scala:733) 在 org.apache.spark.sql.catalyst.ScalaReflection$.schemaFor(ScalaReflection.scala:671) 在 org.apache.spark.sql.functions$。 udf(functions.scala:3088)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 2011-11-08
  • 2020-05-19
  • 2021-07-17
  • 2020-01-24
  • 2016-09-05
  • 2021-04-30
相关资源
最近更新 更多