我正在嘗試通過 AWS Glue 作業將資料檔案保存到 S3 中。
我正在嘗試使用火花資料框
df.coalesce(4).write.mode("overwrite").format("parquet").save("s3://my_own_bucket/")
當我測驗它時,代碼回傳一個錯誤
pyspark.sql.utils.IllegalArgumentException: 'Can not create a Path from an empty string'
如果我嘗試將檔案放在檔案夾中,例如
df.coalesce(4).write.mode("overwrite").format("parquet").save("s3://my_own_bucket/folder1")
該檔案被放置在檔案夾“ folder1 ”中
任何人都知道為什么我不能將檔案夾放在存盤桶級別的原因?
PS:我也嘗試過使用動態框架和作品。我想知道為什么使用“正常”火花不起作用。
final_sink = glueContext.write_dynamic_frame.from_options(frame = frame1, connection_type = "s3", connection_options = {"path": "s3://my_own_bucket"}, format = "parquet")
uj5u.com熱心網友回復:
答案是不”。您不能將 DF 寫入任何檔案系統的根目錄,只是沒有人嘗試使用 file:// 或 hdfs:// 作為目標。根目錄是“特殊的”——你不能洗掉它們,相對于根目錄的路徑是“”,等等。沒有人坐下來添加這個功能
見SPARK-34298
uj5u.com熱心網友回復:
嗨,請從路徑中洗掉“/”
df.coalesce(4).write.mode("overwrite").format("parquet").save("s3://my_own_bucket")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/405275.html
標籤:
