3 回答
TA贡献1995条经验 获得超2个赞
Azure Data Lake Store 是用于大数据分析工作负载的企业级超大规模存储库。Data Lake Store 使您能够在一个地方捕获任何大小、类型和摄取速度的数据,以进行操作和探索性分析。您可以在 Data Lake Store 帐户中存储的数据量没有限制。
而且,根据“使用 Azure Data Lake Store 的最佳实践”一章中的“性能和规模考虑”一章,“使用 Data Lake Store 驱动程序缓冲区优化“写入””段落
要在从 Hadoop 写入数据湖存储时优化性能并降低 IOPS,请执行尽可能接近数据湖存储驱动程序缓冲区大小的写入操作。在刷新之前尽量不要超过缓冲区大小,例如在使用 Apache Storm 或 Spark 流式处理工作负载进行流式处理时。从 HDInsight/Hadoop 写入 Data Lake Store 时,重要的是要知道Data Lake Store 有一个带有 4-MB 缓冲区的驱动程序。与许多文件系统驱动程序一样,可以在达到 4 MB 大小之前手动刷新此缓冲区。如果没有,如果下一次写入超过缓冲区的最大大小,它会立即刷新到存储。在可能的情况下,在按计数或时间窗口同步/刷新策略时,您必须避免缓冲区溢出或严重不足。
回答
根据这个回答,使用DataLakeStoreUploader不会出现这个问题。主要原因可能是因为他们为你做冲洗。因此,您可能使用 FileSystem.UploadFile 方法离金属太近了;)
根据这篇文章,另一种解决方案应该是从一个空文件开始,并在刷新之前向其中添加 < 4mb 块。
- 3 回答
- 0 关注
- 227 浏览
添加回答
举报