[英]How to avoid spark from reading files whose path don't exist in s3
我有一些 s3 文件為s3://test-shivi/blah1/blah1.parquet
, s3://test-shivi/blah2/blah2.parquet
, s3://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.