3

我需要以 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")
    }

}

如何更改此代码以以镶木地板格式写入?

谢谢你

4

0 回答 0