【发布时间】:2018-11-11 15:03:05
【问题描述】:
我有一列整型数组:
case class Testing(name: String, age: Int, salary: Double, array: Array[Int])
val x = sc.parallelize(Array(
Testing(null, 21, 905.33, Array(1,2,3)),
Testing("Noelia", 26, 1130.60, Array(3,2,1)),
Testing("Pilar", 52, 1890.85, Array(3,3,3)),
Testing("Roberto", 31, 1450.14, Array(1,0,0))
))
// Convert RDD to a DataFrame
val df = sqlContext.createDataFrame(x)
// For SQL usage we need to register the table
df.registerTempTable("df")
我想创建一个数组,其元素是“数组”列的值。如何在 Spark SQL 中做到这一点?
sqlContext.sql("SELECT [array] from df").show
[ [1,2,3], [3,2,1], [3,3,3], [1,0,0]]
【问题讨论】:
-
我认为您缺少代码。假设你真的在谈论 Spark SQL,你需要一个创建 DataFrame 的步骤。
-
这样理解更好?
标签: scala apache-spark user-defined-functions apache-spark-sql