我正在使用带有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