我有一个Hive内部表,它有大约5亿条记录。我的Hive部署在aws emr上。我不想让aws emr一直运行。因此,我想备份配置单元内部表数据。
一种简单的方法是创建一个指向s3位置的外部表,然后使用insert命令将所有记录移动到该外部表中。当我需要返回内部表时,我可以使用这个外部s3表来返回所有数据。
因为这个表只用于备份,所以我想问一下,哪种存储格式对我来说是最好的选择。
到目前为止,配置单元支持以下格式
TEXTFILE
SEQUENCEFILE
ORC
PARQUET
AVRO
RCFILE
除上述方法外,是否还有其他方法可以备份内部表。
1条答案
按热度按时间j0pj023g1#
简言之
我认为改变文件格式(你提到的列表)在大小上不会有太大的差别。但是文件的大小和访问类型对您的云帐户计费起着至关重要的作用。
所以考虑一下,
压缩-缩小尺寸
amazon glacier-比aws中的s3更经济高效的解决方案,因为数据不太可能访问(存档)
选择解决方案时要考虑的事情,你能买多少时间
从存档存储访问文件。
将数据格式转换为配置单元管理的表(如果在存档期间更改)
数据解压(每次压缩都是时间和大小的权衡)
扩展答案
以下是一些文件格式及其解压速度和空间效率,为您选择平衡的(即时间/空间,根据上述问题)和可用的压缩格式。
更多压缩和压缩基准