我需要以 parquet 文件格式编写一个文件,以便在使用 spark 后读取。我将 scala 与 Scalavro 和 Parquet-avro 一起使用。
在我的测试中,我编写了一个 avro 格式的文件并且工作正常:
import java.io._
import com.gensler.scalavro.types.AvroType
import scala.util.{ Success, Failure }
//object structure
case class defMyList(mydata:String)
case class objectTest(name: String, desc:String,myList:Seq[defMyList])
def test()
{
//create object data
val objectList = objectTest(
name = "object name",
desc = "object desc",
myList = Seq(
defMyList("asdfasdfasfsafsdfasdfasdf"),
defMyList("asdfasdfasfsafsdfasdfasdf")
)
)
val objectListType = AvroType[objectTest]
println("schema: " + objectListType.schema)
val filestream= new File("C:\\avrofile.avro")
val outStream = new FileOutputStream(filestream)
objectListType.io.write(objectList, outStream)
val inStream: java.io.InputStream = new FileInputStream(filestream)
objectListType.io.read(inStream) match {
case Success(readResult) => println("Successfully deserialized: " + readResult)
case Failure(cause) => println("Failure")
}
}
如何更改此代码以以镶木地板格式写入?
谢谢你