我有一個parquet格式的檔案串列
-- s3:′my-bucketfiles14912file.pq
-- s3:my-bucketfiles14911file.pq
# 14=日,09=月,11=小時。
如果我把絕對路徑傳給我的spark背景關系,它就可以毫無問題地讀取該檔案
spark.read.parquet('s3:my-bucketfiles14912file.pq')
如果我傳入
spark.read.parquet('s3:my-bucketfiles14')
那么我將得到以下錯誤:
AnalysisException: 'Unable to infer schema for Parquet. It must be specified manually.;'
我相信這是由于磁區未命名的事實,我無法控制源,所以我無法改變它,很遺憾。
我的解決方法是列出所有的檔案,然后取最低級別的唯一路徑集,并將其傳遞給 spark。
是否有更好的解決方法?
uj5u.com熱心網友回復:
更簡單的方法是用*來列出路徑中的所有目錄:
df = spark.read.parquet('s3://my-bucket/files/*/*/')
如果你想檢索日、月和小時,跟隨我的答案
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/310744.html
標籤:
上一篇:決議日期格式
