使用spark和alluxio管理s3的文件大小

zpjtge22  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(399)

我使用spark在alluxio中编写数据,ufs作为s3使用hiveparquet分区表。我在配置单元分区字段上使用重分区函数,以使alluxio中的写操作更高效。这导致在alluxio中创建单个文件,即在s3中为分区组合创建单个对象。虽然alluxio具有使用从s3的偏移量读取字节数据的功能,但最终它会从s3缓存整个文件/对象。如果文件大小增加到tbs,它将成为alluxio内存的开销。请建议如何控制文件大小。

lnvxswe2

lnvxswe21#

虽然alluxio具有使用从s3的偏移量读取字节数据的功能,但最终它会从s3缓存整个文件/对象
这种说法是不正确的。尽管s3对象可以是tbs,但在alluxio中,所有对象都以alluxio块的粒度进行缓存(默认情况下,每个块为512MB)。因此,如果应用程序只接触对象的字节,alluxio将缓存包含这些字节的块,而不是该对象的所有块。

相关问题