Spark: Как прочитать файл Avro или Parquet как набор данных - PullRequest
0 голосов
/ 20 мая 2018

Учитывая, что файлы Avro и Parquet содержат и данные, и схему для этих данных, то в Spark должна быть возможность считывать эти файлы как набор данных, а не как DataFrame.Но все источники, которые я вижу, читают эти файлы как DataFrame, и я никак не могу прочитать эти файлы как набор данных.

Кто-нибудь знает, как читать эти файлы как наборы данных?

1 Ответ

0 голосов
/ 04 декабря 2018
def readParquet(spark: SparkSession): Unit = {
  import org.apache.spark.sql._
  import spark.implicits._
  import Test._

  spark.conf.set("spark.sql.parquet.enableVectorizedReader", "false") // This is optional, only if you face any spark parquet decoders

  val schema = Encoders.product[TestData].schema
  val ds =
    spark.read
      .schema(schema)
      .parquet("data.parquet")
      .as[TestData]

  ds.show(false)
}

object Test {
  case class TestData(id: Int, name: String, usedAmount: Double)
}
...