scala - 配置 Spark 写入 HDFS 的 Avro 文件大小
问题描述
我正在将 Avro 格式的 Spark 数据帧写入 HDFS。而且我想拆分大型 Avro 文件,以便它们适合 Hadoop 块大小,同时不会太小。是否有任何数据框或 Hadoop 选项?如何将要写入的文件拆分成更小的文件?
这是我将数据写入 HDFS 的方式:
dataDF.write
.format("avro")
.option("avroSchema",parseAvroSchemaFromFile("/avro-data-schema.json"))
.toString)
.save(dataDir)
解决方案
我进行了很多研究,发现仅在 Avro 记录的数量上设置文件大小限制是不可能的。所以唯一的解决方案是创建一个应用程序来将记录数映射到文件大小。
推荐阅读
- ldap - 如何将 AD LDS distinctName 属性更新为 Single Value 为 No
- php - 如何通过一些简单的程序将 Sql Query 转换为 Laravel
- kiwi-tcms - 在 kiwi tcms 中的测试运行中如何将测试分配给不同用户的过程
- android - 获取 SSL 握手异常,尝试在 android 应用程序中执行 SSL
- priority-web-sdk - 无法按 CUST 从 CUSTOMERS 表中获取
- oracle-cloud-infrastructure - 无法使用 PUTTY 连接到 Oracle 云计算 VM 实例
- java - HBase 连接在随机时间延迟后被拒绝
- sql - 在 Amazon Redshift 上获取字符串中的最后一个单词
- javascript - 如何复制 Netflix 颚骨动画?
- javascript - 如何在背景元素上投影多个散点图?