Apache spark 如何将spark sql行对象序列化为字节数组?

Apache spark 如何将spark sql行对象序列化为字节数组?,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我有一个spark sql行对象及其StructType模式。如何将其序列化为数组[字节] 我试图将这个对象写入字节流,因为我看到行类型扩展可序列化。但是我认为它效率不高,因为没有使用模式,所以结果可能不紧凑。您可以使用方法Row.getAs[T](fieldName:String),例如: // generate a row val df = Seq(Array(1.toByte)).toDF("bytes") val row = df.collect().head // extract fi

我有一个spark sql
对象及其
StructType
模式。如何将其序列化为
数组[字节]


我试图将这个对象写入字节流,因为我看到
类型扩展
可序列化
。但是我认为它效率不高,因为没有使用模式,所以结果可能不紧凑。

您可以使用方法
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")

谢谢,但我想我找到了解决方案,它只是使用writeObject将行写入字节输出流,模式是已知的,因为我是通过
行创建行的。fromTuple
@XiangZhang你能回答你自己的问题吗
writeObject
正是您所需要的。