我有一個 s3 目錄,看起來像這樣:
my-data/data-events/year/month/day/hour/file.json
我有 2018、2019、2020、2021 和 2022 年。我想從 2020 年開始閱讀所有內容。如果不移動檔案,我將如何做到這一點?我目前有這樣的讀取功能,它讀取所有檔案:
spark.read.json("s3a://my-data/data-events/*/*/*/*/*")
uj5u.com熱心網友回復:
怎么樣spark.read.json("s3a://my-data/data-events/{2020,2021,2022}/*/*/*/*")
根據 current_year 使其動態化
from datetime import datetime
current_year = datetime.now().year
years_to_query = ",".join([str(x) for x in range(2020, current_year 1)])
f"s3a://my-data/data-events/{{{years_to_query}}}/*/*/*/*"
此外,如果您對資料進行了磁區,例如:路徑將是 my-data/data-events/year=YYYY/month=MM/day=DD/hour=HH/file.json 你可以有 spark.read.json ("s3a://my-data/data-events") 然后.filter(col("year") >= '2020'),此過濾器將針對檔案夾路徑運行,而不是通過查看 json 本身。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/489397.html
