gpt4 book ai didi

hadoop - 外部和内部表性能之间的区别?

转载 作者:行者123 更新时间:2023-12-02 21:26:41 25 4
gpt4 key购买 nike

我想用HDFS中的国家/地区代码和名称等静态数据创建一个表。我将使用csv将数据加载到系统中。是否放下表格和数据并不重要,因为这是您可以在Internet上轻松找到的信息。

是否有关于此类数据的外部/内部表的性能考虑?我应该像post中的所有人一样坚持使用外部表吗?

最佳答案

正如Stephen ODonnell在评论中指出的那样,内部/外部实际上更多地是关于数据的位置及其管理方式。

我要说还有其他重要的性能因素需要考虑,例如表格式以及是否要使用压缩。

以下是从HDP的 Angular 来看;对于Cloudera,一般概念是相同的,但具体内容可能会有所不同。)

例如,您可以将表定义为ORC格式,它提供了许多优化功能,例如谓词下推功能,该功能使行甚至可以在添加到SQL处理层之前在存储层进行优化。 More details

另一个选择是是否要指定压缩,例如Snappy,一种平衡速度和压缩率的压缩算法(有关更多信息,请参见上面的ORC链接)。

一般来说,我将HDFS数据视为源,然后将其压缩到Hive中,成为启用了ORC格式并启用了快速压缩的托管(内部)表。我发现它提供了良好的性能,并带来了额外的好处,因为无需考虑HDFS中的原始源数据,就可以对此数据执行任何ETL,因为它是在压缩期间复制到Hive的。

当然,这确实需要额外的空间,这取决于您的环境和/或特定的用例,可能是一个考虑因素。

关于hadoop - 外部和内部表性能之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35698180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com