Spark - 如何在 S3 路径中获取最新小时?



我正在使用带有Spark和Scala的Databricks笔记本将数据从S3读取到DataFrame中:

myDf = spark.read.parquet(s"s3a://data/metrics/*/*/*/). 其中*通配符表示年/月/日。

或者我只是硬编码它:myDf = spark.read.parquet(s"s3a://data/metrics/2018/05/20/)

现在我想在一天之后添加一个小时参数。这个想法是从S3获取最近可用小时的数据。

如果我这样做myDf = spark.read.parquet(s"s3a://data/metrics/2018/05/20/*)那么我将获得 5 月 20 日所有小时的数据。

如何在 Databricks 笔记本中实现这一点,而无需对小时进行硬编码?

使用时间日期函数

from datetime import datetime, timedelta
latest_hour = datetime.now() - timedelta(hours = 1)

您还可以按年,月,日,小时拆分它们

latest_hour.year
latest_hour.month
latest_hour.day
latest_hour.hour

最新更新