您好,开发指南中的数据源类型基本都支持写出,其次udb,udbx,mysql等都使用SDX数据源
如何写出gdb,shp,csv这些格式的文件呢。示例代码如下:其它格式也一样,其中gdb和shp会在spark任务执行时,报错。shp/gdb is read-only。
def saveCSV(path: String): util.HashMap[String, io.Serializable] = { val params = new util.HashMap[String, java.io.Serializable]() params.put("providerType", "CSV") //params.put("firstRowIsField", false) //第一行是否为字段值,如第一行为字段名则使用true //params.put("geofields", "geometry")//空间信息字段,传入一个字段代表线或面,两个字段代表点,两个以上无效。若缺省则仅属性读取。 //params.put("idfield", "OBJECTID") //id字段的索引 //params.put("modifyDesFieldTypes",mapModifyType) params.put("path", path) params } //写出时的代码 val outParams = ParamsUtils.saveCSV(outPath) FeatureRDDProviderFactory(outParams).save(resultRDD, outParams, resultRDD.schema.getTypeName)
您好,Shp和GDB您可以写出数据集,再通过java组件去写出;csv写出可以参考以下代码:
val mresRDD =mysqlRDD.map(f=>{ val x=f.getDefaultGeometry.asInstanceOf[Point].getX val y=f.getDefaultGeometry.asInstanceOf[Point].getY (x,y) }) import spark.implicits._ val resDF = mresRDD.toDF("X","Y") resDF.coalesce(1).write .option("header", "true") .csv("file:///D:/test/out.csv")