我如何从.Thrift文件的struct Object创建Spark DataFrame

时间:2018-08-14 07:04:46

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

我尝试过

val temp = Seq[ProcessAction]()  // ProcessAction is declared in Thrift
val toDF = temp.toDF()

我遇到了错误

  

scala.ScalaReflectionException:没有一个术语

如果我使用案例类对象而不是ProcessAction,则可以获得DataFrame ...

有什么方法可以消除此错误?

1 个答案:

答案 0 :(得分:0)

镶木地板文件了解Thrift编码的对象,因此您可以使用ThriftParquetWriter加载镶木地板文件,然后使用Spark SQL或其他方法将这些对象放入DataFrame中。

https://github.com/apache/parquet-mr/blob/master/parquet-thrift/src/main/java/org/apache/parquet/thrift/ThriftParquetWriter.java