目前我有一個讀取檔案、創建資料框、進行一些轉換然后以“年/月/日”格式移動這些記錄的 spark 作業。我通過以下方式實作這一目標:
df.write.option("delimiter", "\t").option("header", False).mode(
"append"
).partitionBy("year", "month", "day").option("compression", "gzip").csv(
config["destination"]
)
我想通過pythonic方式實作同??樣的目的。所以,最后它應該是這樣的:
data/2022/04/14
data/2022/04/15
uj5u.com熱心網友回復:
根據您的問題,partitionBy您也可以修改您的,而不是使用config['destination'],因為 s3 將負責在 s3 路徑下創建必要的檔案夾
s3_dump_path = config["destination"] ### 's3:/test-path/'
>>> curr_date = datetime.now().date()
>>> year,month,day = curr_date.strftime('%Y'),curr_date.strftime('%m'),curr_date.strftime('%d')
>>> s3_new_path = '/'.join([s3_dump_path,year,month,day])
>>> s3_new_path
's3:/test-path//2022/04/14'
>>> config["destination"] = s3_new_path
df.write.option("delimiter", "\t").option("header", False).mode(
"append"
).option("compression", "gzip").csv(
config["destination"]
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/458810.html
標籤:Python python-3.x 亚马逊-s3 pyspark
