其他分享
首页 > 其他分享> > 11. GeoMesa数据保存篇之本地文件存储

11. GeoMesa数据保存篇之本地文件存储

作者:互联网

一. 简介

  1. 读取shapefile 单文件
  2. 读取shapefile 路径下的所有shapefile 文件
  3. 保持输出单shapefile 文件
  4. 保持输出shapefile 集合到指定文件路径

优化:

  1. 读取目录下说有shape为RDD
  2. 分区输出shapefiles时,先进行空间分区

二. 代码

1.写入RDD到单个Shapefile文件

//写入shapefile 单文件
    def write_shapefile_single(rdd: SpatialRDD, shapePath: String)(implicit sparkContext: SparkContext) = {

        println("默认分区数:".concat(rdd.getNumPartitions.toString))

        val reRdd = rdd.repartition(1) //将rdd重新分区
        println("现有分区数:".concat(reRdd.getNumPartitions.toString))

        val resultPath = shapePath.concat("/").concat(sparkContext.getConf.getAppId) //创建当前应用的输出目录
        val directory = Directory(resultPath);
        directory.createDirectory(true, false); //创建目录

        val pathBroadcast = sparkContext.broadcast(resultPath) //分发

标签:11,文件,GeoMesa,val,shapefile,分区,存储,rdd,concat
来源: https://blog.csdn.net/zhanggqianglovec/article/details/120468754