我正在使用Hadoop并面对大量小文件的可怕问题。我需要能够从现有的配置单元分区创建har存档,并同时查询它们。但是,Hive显然只支持在托管表而不是外部表中归档分区 - 这非常令人伤心。我试图通过使用hadoop的归档工具手动归档分区目录中的文件来找到解决方法。我现在需要配置配置单元,以便能够查询存储在这些存档中的数据,以及存储在其他分区目录中的未存档数据。请注意,我们只使用外部表格。
用于访问创建的partition-har中的文件的命名空间对应于分区dir的hdfs路径。 例如,例如,hdfs中的文件:
hdfs:///user/user1/data/db1/tab1/ds=2016_01_01/f1.txt
归档后可以访问:
har:///user/user1/data/db1/tab1/ds=2016_01_01.har/f1.txt
hive是否可以从外部表中查询har存档?如果是,请提出建议。
最好的问候
答案 0 :(得分:1)
在实践中,"管理"之间的界限。和"外部"桌很薄。
我的建议是:
额外奖励:在Hive中轻松取消归档您的分区(而没有hadoop unarchive
命令AFAIK)。