配置 Spark 写入 HDFS 的 Avro 文件大小

Configure Avro file size written to HDFS by Spark

我正在将 Avro 格式的 Spark 数据帧写入 HDFS。我想拆分大型 Avro 文件,以便它们适合 Hadoop 块大小,同时不会太小。是否有任何数据框或 Hadoop 选项?如何将要写入的文件分割成更小的文件?

下面是我将数据写入HDFS的方式:

dataDF.write
  .format("avro")
  .option("avroSchema",parseAvroSchemaFromFile("/avro-data-schema.json"))
      .toString)
  .save(dataDir)

我研究了很多,发现无法仅在 Avro 记录数中设置文件大小限制。因此,唯一的解决方案是创建一个应用程序,用于将记录数映射到文件大小。