簡體   English   中英

在讀Spark之前如何檢查文件夾的可用性?

[英]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")

現在,如果有與名稱的文件夾, 201801012018010220180103這不能不火花引發錯誤,沒有這樣的路徑。 僅當這些文件夾之一可用時,代碼才起作用。

第二個問題是如何檢查讀取后報告值是否為空?

我認為可以使用可在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.

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