簡體   English   中英

如何避免從讀取 s3 中不存在路徑的文件時產生火花

[英]How to avoid spark from reading files whose path don't exist in s3

我有一些 s3 文件為s3://test-shivi/blah1/blah1.parquets3://test-shivi/blah2/blah2.parquets3://test-shivi/blah3/NONE

現在我想通過火花加載所有的鑲木地板,例如

df = spark.read.parquet("s3a:///test-shivi/*.*.parquet", schema=spark_schema)

但是由於blah3沒有匹配的文件,我收到了這個錯誤。

pyspark.sql.utils.AnalysisException: Path does not exist: s3:

如何保護/跳過那些沒有任何匹配文件的目錄?

看起來問題在於您的路徑/通配符模式錯誤。 改用這個:

df = spark.read.parquet("s3a://test-shivi/*/*.parquet", schema=spark_schema)

如果blah3不包含 parquet 文件,它將與模式不匹配。 這不會引起任何問題。

但要小心前導斜杠: s3a:///是錯誤的,它必須是s3a://{bucket}/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM