Spark: Как использовать схему Avro для создания набора данных? - PullRequest
0 голосов
/ 07 января 2020

У меня есть набор файлов avro, сохраненных в aws S3 с известной схемой, определенной в файле .avs c. Есть ли способ создать набор данных объектов в искре с определенной схемой?

Схема выглядит следующим образом:

{
  "type" : "record",
  "name" : "NameRecord",
  "namespace" : "com.XXX.avro",
  "doc" : "XXXXX",
  "fields" : [ {
    "name" : "Metadata",
    "type" : [ "null", {
      "type" : "record",
      "name" : "MetaNameRecord",
      "doc" : "XXXX",
      "fields" : [ {
        "name" : "id",
        "type" : "int"
      }, {
        "name" : "name",
        "type" : [ "null", "string" ],
        "default" : null
      }]
}

Я хотел бы создать набор данных NameRecord: Набор данных [NameRecord]

1 Ответ

0 голосов
/ 09 января 2020

Объектные файлы Avro по определению уже имеют схему внутри них.

Нужно просто сделать это

val df = spark.read.format("avro").load("s3://path")
df.schema

https://spark.apache.org/docs/latest/sql-data-sources-avro.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...