本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
本文介紹如何使用Databricks 讀寫OSS文件系統數據。
前提條件
通過主賬號登錄阿里云 Databricks控制臺。
已創建集群,具體請參見創建集群。
已使用OSS管理控制臺創建非系統目錄存儲空間,詳情請參見創建存儲空間。
警告
首次使用DDI產品創建的Bucket為系統目錄Bucket,不建議存放數據,您需要再創建一個Bucket來讀寫數據。
說明
DDI訪問OSS路徑結構:oss://BucketName/Object
DDI支持免密讀寫,如果是讀寫不同賬戶的OSS數據,需要聲明accessKeyId和accessKeySecret
BucketName為您的存儲空間名稱。
Object為上傳到OSS上的文件的訪問路徑。
例:讀取在存儲空間名稱為databricks-demo-hangzhou文件路徑為demo/The_Sorrows_of_Young_Werther.txt的文件
// 從oss地址讀取文本文檔
val dataRDD = sc.textFile("oss://databricks-demo-hangzhou/demo/The_Sorrows_of_Young_Werther.txt")
讀OSS數據代碼實現WordCount
示例文本下載:The_Sorrows_of_Young_Werther.txt
%spark
// 從oss地址讀取文本文檔(注意oss文件在賬號下上傳到對應目錄)
val text = sc.textFile("oss://databricks-data-source/demo/The_Sorrows_of_Young_Werther.txt")
// 使用Scala做WordCount處理
val counts = text.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_+_)
//數據展示前5條信息
counts.take(5).foreach(print)
結果寫入到OSS
%spark
//將數據寫入到
counts.coalesce(1).saveAsTextFile("oss://databricks-data-source/WordCount示例-Result-Zeppelin-001.txt")
文檔內容是否對您有幫助?