Я пытаюсь прочитать таблицу Avro, хранящуюся в HDFS, с указанием также схемы , которая также хранится в HDFS. На данный момент у меня есть это решение, которое, кажется, работает:Чтение таблицы и схемы Avro, хранящихся в HDFS, с использованием Spark-Java
RDD<String> stringRDD = sparkContext.textFile(schemaPath, 1);
String [] collect = (String []) stringRDD.collect();
String schema = collect[0];
Dataset<Row> df =sqlContext.read().format("com.databricks.spark.avro").option("avroSchema", schema)
.load(tablePath);
Это лучший способ сделать это? Что делать, если схема достаточно большая, чтобы иметь 2 раздела, например? Должен ли я объединить их все с помощью функции reduce()?
Приветствие
Зачем вам нужно сначала прочитать схему? Можно читать avro без схемы (поскольку схема встроена в avro). Вы пробовали просто пропустить вариант схемы? –
Схема может также быть описана непосредственно в классе (как поле, созданное вручную) без необходимости его получения из внешнего файла, это вариант? – Mironor