本文介绍Spark如何向OSS写数据。

背景信息

当前E-MapReduce:
  • 支持MetaService服务。
  • 支持用户通过AccessKey访问OSS数据源。
  • 支持旧的显式写AccessKey和Endpoint方式访问OSS数据源。
    说明 OSS Endpoint需使用内网域名,具体请参见OSS Endpoint

Spark接入OSS示例

本示例展示,Spark如何以免AccessKey方式读取OSS中数据,并将处理完的数据写回到OSS中。
val conf = new SparkConf().setAppName("Test OSS")
    val sc = new SparkContext(conf)
    val pathIn = "oss://bucket/path/to/read"
    val inputData = sc.textFile(pathIn)
    val cnt = inputData.count
    println(s"count: $cnt")
    val outputPath = "oss://bucket/path/to/write"
    val outpuData = inputData.map(e => s"$e has been processed.")
    outpuData.saveAsTextFile(outputPath)
说明 PySpark读取OSS数据与Spark读取OSS数据方式一致。

附录

示例代码请参见:Spark对接OSS