OSS
本文介绍如何使用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")
