hive的分区策略
Partition strategy for hive
我有一个每月处理数据并保存到 Hive/Impala tables 的 Spark 作业(文件存储格式是 parquet)。 table的粒度是日数据,但是这个作业的源数据也是月作业。
我正在尝试了解如何最好地划分 table。我正在考虑对 table base a month 键进行分区。想知道是否有人发现这种方法有任何问题,或者有其他建议?谢谢。
你的做法是正确的。 Hive, Impala and Parquet as a file format
。
至于分区,请记住 worst
您可以做的事情是 too many partitions
因为它们的元数据存储在 Hive Metastore
(关系数据库)中,如果您有大量分区,则任何元数据查询可能很繁重。
选择 partitioning key
时,检查每个分区中将有多少数据。您需要选择一个 granulation
,一方面允许您 quickly access data
,另一方面您将没有 large number of small partitions
(即数据量小)。
请查找有关 Hive & Spark
的更多信息:
我有一个每月处理数据并保存到 Hive/Impala tables 的 Spark 作业(文件存储格式是 parquet)。 table的粒度是日数据,但是这个作业的源数据也是月作业。
我正在尝试了解如何最好地划分 table。我正在考虑对 table base a month 键进行分区。想知道是否有人发现这种方法有任何问题,或者有其他建议?谢谢。
你的做法是正确的。 Hive, Impala and Parquet as a file format
。
至于分区,请记住 worst
您可以做的事情是 too many partitions
因为它们的元数据存储在 Hive Metastore
(关系数据库)中,如果您有大量分区,则任何元数据查询可能很繁重。
选择 partitioning key
时,检查每个分区中将有多少数据。您需要选择一个 granulation
,一方面允许您 quickly access data
,另一方面您将没有 large number of small partitions
(即数据量小)。
请查找有关 Hive & Spark
的更多信息: