【发布时间】:2019-10-13 02:05:12
【问题描述】:
我的数据集几乎每天都会添加数据,并且需要每天在更大的 ETL 的一部分中进行处理。 当我直接选择分区时,查询真的很快:
SELECT * FROM JSON.`s3://datalake/partitoned_table/?partition=2019-05-20`
然而,问题在于事件类型在某些星期日不生成数据,导致该特定日期不存在分区。因此,我无法使用前面的语句来运行我的日常工作。
另一次尝试让我尝试让 spark 找到该数据集的最新分区,以确保更大的查询不会失败:
SELECT * FROM JSON.`s3://datalake/partitoned_table/`
WHERE partition = (SELECT MAX(partition) FROM JSON.`s3://datalake/partitoned_table/`)
这每次都有效,但速度慢得令人难以置信。
我找到了很多关于如何构建和维护分区的文章和参考资料,但没有关于如何正确阅读它们的信息。
知道如何正确完成这项工作吗?
【问题讨论】:
-
您的问题已经回答here。基本上SHOW PARTITIONS
标签: sql apache-spark apache-spark-sql hiveql