[英]How check availability of folders before read in Spark?
我是Spark Framework的新手,需要一些建議。
我有這樣的文件夾結構。
reports
- 20180101
- 20180102
- 20180103
- GHWEI.csv
- DSFSD.csv
- GHWEI.csv
報表(csv文件)每天分別存儲。 例如20180103
文件夾收集2018年1月三日的所有報告。
在讀取csv文件之前,我需要檢查路徑的可用性。 怎么做?
val reports = spark.read.option("delimiter", "|")
.csv("/reports/{20180101,20180102,20180103,}/*GHWEI*")
.orderBy("CREATE_DATE")
現在,如果有與名稱的文件夾, 20180101
, 20180102
, 20180103
這不能不火花引發錯誤,沒有這樣的路徑。 僅當這些文件夾之一可用時,代碼才起作用。
第二個問題是如何檢查讀取后報告值是否為空?
我認為可以使用可在Scala程序上使用的Hadoop FileSystem java sdk檢查文件。
這是整個文檔: https : //hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html
我將您鏈接到一個適合您情況的答案: https : //stackoverflow.com/a/30408153/10623105
注意:為澄清起見,Hadoop不適用於該文件夾。 文件夾的概念在Hadoop生態系統上不存在。 它只是鍵和值文件系統,其中鍵是文件的整個路徑,值是文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.