我有一个火花sql Row
对象及其StructType
作为架构。如何将其序列化为Array[Byte]
?
我试图将此对象写入字节流,因为我看到Row
类型扩展了Serializable
。但是我认为效率不高,因为未使用架构,因此结果可能并不紧凑。
答案 0 :(得分:-1)
您可以使用方法Row.getAs[T](fieldName:String)
,例如:
// generate a row
val df = Seq(Array(1.toByte)).toDF("bytes")
val row = df.collect().head
// extract field
val arr: Array[Byte] = row.getAs[Array[Byte]]("bytes")