• 作者:老汪软件技巧
  • 发表时间:2024-01-09 14:00
  • 浏览量:

&&大数据学习&& ?系列专栏: ?哲学语录: 承认自己的无知,乃是开启智慧的大门

?如果觉得博主的文章还不错的话,请点赞?+收藏⭐️+留言?支持一下博>主哦?

在Hive中,常见的文件存储格式包括、、、ORC、和AVRO。默认的文件存储格式是,如果在建表时不指定存储格式,则导入数据时会直接把数据文件拷贝到HDFS上不进行处理。除外的其他格式的表不能直接从本地文件导入数据,数据要先导入到格式的表中,然后再从表中用导入到其他格式的表中。

格式:这是Hive的默认文件格式,文件存储方式为正常的文本格式。以文件格式存储的表,在HDFS上可直接查看到数据。可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但是使用这种方式,Hive不会对数据进行切分,无法对数据进行并行操作。存储方式为行存储,优势在于可使用任意的分割符进行分割,在HDFS上可查可标记,加载速度较快。劣势在于不会对数据进行压缩处理,存储空间较大、磁盘开销大、数据解析开销大。格式:需在建表时指定 as 。文件存储方式为二进制文件,以键值对的形式序列化到文件中。以文件格式存储的表会对数据进行压缩处理,在HDFS上的数据为二进制格式,不可直接查看。可与、none、block(块级别压缩)配合使用,默认为,但的压缩率低,一般建议使用block压缩。存储方式为行存储,优势在于存储时候会对数据进行压缩处理,存储空间小,支持文件切割分片,查询速度比速度快。劣势在于无法可视化展示数据,不可以直接使用load命令对数据进行加载,自身的压缩算法占用一定的空间。格式:需在建表时指定 as 。文件存储方式为二进制文件。以文件格式存储的表也会对数据进行压缩处理,在HDFS上以二进制格式存储,不可直接查看。是一种行列存储相结合的存储方式,该存储结构遵循的是“先水平划分,再垂直划分”的设计原则。ORC格式:这是一种高效的存储格式,相比传统的行存储或者列存储,它能够在读取、写入和处理数据等多个方面提供更高的效率。格式:这也是一种高效的存储格式,适合在、Hive等大数据处理框架中使用。

总的来说,Hive支持多种文件存储格式,具体选择哪种格式取决于具体的使用场景和需求。

需要注意的是Hive数据倾斜是指在Hive执行Map/程序时,某些节点的执行时间明显长于其他节点,导致整个程序的执行时间增加。这通常发生在某些key值的数据量比其他key值大很多的情况下,因为这些key值会被分发到同一个节点进行处理,从而导致该节点处理的数据量过大。

数据倾斜通常出现在Hive执行的SQL语句中包含join、group by、count 等操作时。为了避免数据倾斜,可以采取一些处理方式,例如设置hive.map.aggr=true(默认开启)进行部分聚合操作,或者设置hive..=true(默认关闭)进行负载均衡等。

下一期具体分析负载均衡。一起加油!!!