在S3中使用分区时,Spark会逐个列出所有分区,这会消耗时间。它应该在元存储表中寻找分区&应该立即去分区。 我尝试了125个分区的示例。当我通过附加分区列值&来计算S3的确切位置时。尝试访问它,它在5秒内执行。但是如果我试图让Spark计算出分区,它会列出所有分区,这本身花费的时间超过30秒。 我怎样才能让Spark使用谓词下推法从元存储中找出分区?
答案 0 :(得分:1)
您需要设置外部hive Metastore(可以是mysql或postgres)。因此,表/分区的定义将保留在那里,并将在不同的Spark上下文生命周期中存活