首页 > 解决方案 > 配置 Spark 写入 HDFS 的 Avro 文件大小

问题描述

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

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

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

标签: scalaapache-sparkhdfsavro

解决方案


我进行了很多研究,发现仅在 Avro 记录的数量上设置文件大小限制是不可能的。所以唯一的解决方案是创建一个应用程序来将记录数映射到文件大小。


推荐阅读