Filesystem 物件(pyspark 為例)
hadoop 有提供對應的 java 物件供 hdfs 操作 “org.apache.hadoop.fs.FileSystem”
如果你今天是用 Java 那就是用 FileSystem 建立一個物件,來使用 filesystem 的方法。
無論你用 MapReduce 還是 Spark.
而若是使用其他語言,你只要能夠溝通到 jvm,讀到 java 的 class ,建立一個 java 物件即可,其實大同小異。
舉個例子,今天我使用 pyspark。
因為 python 可以透過 py4j 與 java 溝通,透過py4j 提供的 java_gateway,溝通到 jvm,就可以呼叫到我要取用的 java 物件。
常規的做法我建立一個 spark session,取出其中的 spark context,並透過 spark context 去讀 FileSystem 類別以及 config 物件
並以此建立對應的 file system 物件。
最後還要記得建立 Path 物件,才會正確讀到對應路徑。