【发布时间】:2022-01-21 08:26:48
【问题描述】:
我试图了解使用 Spark 查询配置单元表时对分区方案的性能影响。举个例子:
Table 1有3个分区列,数据存放在路径类似
year=2021/month=01/day=01/...data...
Table 2 有 1 个分区列
date=20210101/...data...
有趣的是,我发现对第二种表的查询更快,但我不知道为什么,我也不知道为什么。我想了解这一点,因此我知道如何设计可能具有更多分区的较大表的分区。
正在测试的查询:
select * from table limit 1
我意识到这不会从任何类型的查询修剪中受益。
以上是作为示例查询来演示我想要理解的内容。但万一细节很重要
- 这是使用 s3 而不是 HDFS
- 表中的数据很小,没有大量的partitons
- 对第一个表运行查询的时间约为 2 分钟,第二个约为 10 秒
- 数据存储为镶木地板
【问题讨论】:
-
快多少?
-
你在写什么类型的查询?
-
Hdfs 或 s3......
-
我的观察基于 S3 和从完整片段中选择少量行的简单查询(即选择 * 限制 1)。这些不是现实的查询,只是测试。
-
为问题添加了一些细节
标签: apache-spark pyspark hive hive-partitions