阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。本文主要介绍DLA Ganos如何支持加载存储在OSS中的Tiff文件为DataFrames。

操作步骤

  1. 初始化Spark Session:
     val spark: SparkSession = {
        val session = SparkSession.builder
          .master("local[*]")
          .withKryoSerialization
          .config(additionalConf)
          .getOrCreate()
        session
      }
    
     //加载DLA Ganos Raster驱动
     spark.withGanosRaster
  2. 定义OSS连接参数并加载图层:
      val options = Map(
        "crs"->"EPSG:4326",
        "endpoint" -> "OSS Endpoint地址",
        "accessKeyId" ->"AccessKey Id",
        "accessKeySecret" -> "AccessKey Secret")
    
    val uri=new java.net.URI("oss://<OSS Bucket名称>/srtm_60_05.tif") //指定OSS具体文件名称
    
    val layer=spark.read.ganos.oss(options).loadLayer(uri)
  3. 输出结果为:11
    如果要批量加载OSS数据,只需要修改uri为OSS中的目录名称即可:
    val uri=new java.net.URI("oss://<OSS Bucket名称>/raster") //指定OSS目录
    val rf=spark.read.ganos.oss(options).loadLayer(uri)
    rf.show
    修改后的输出结果为:21