使用Spark處理JindoFS上的資料
更新時間:
Copy as MD
Spark處理JindoFS上的資料,主要有兩種方式,一種是直接調用檔案系統介面使用;一種是通過SparkSQL讀取存在JindoFS的資料表。
JindoFS配置
以EMR-3.35版本為例,建立名為emr-jfs的命名空間,相關配置參數樣本如下:
- jfs.namespaces=emr-jfs
- jfs.namespaces.emr-jfs.oss.uri=oss://oss-bucket/oss-dir
- jfs.namespaces.emr-jfs.mode=block
處理JindoFS上的資料
- 調用檔案系統
Spark中讀寫JindoFS上的資料,與處理其他檔案系統的資料類似,以RDD操作為例,直接使用jfs的路徑即可:
val a = sc.textFile("jfs://emr-jfs/README.md")scala> val a = sc.textFile("jfs://emr-jfs/README.md") a: org.apache.spark.rdd.RDD[String] = jfs://emr-jfs/README.md MapPartitionsRDD[1] at textFile at <console>:24寫入資料:
scala> a.collect().saveAsTextFile("jfs://emr-jfs/output") - SparkSQL
建立資料庫、資料表以及分區時指定Location到JindoFS即可,SparkSQL處理JindoFS上的資料與HiveSQL類似,詳情請參見使用Hive查詢JindoFS上的資料。對於已經建立好的儲存在JindoFS上的資料表,直接查詢即可。
该文章对您有帮助吗?