我不想建立一个 Geomesa Datastore
,只是想使用 Geomesa Spark Core/SQL
模块在火花上做一些空间分析处理。我的数据源是一些Hdfs上的GeoJson文件。然而,我必须创建一个 SpatialRDD
由 SpatialRDDProvider
.
有一个 Converter RDD Provider
在Geomesa的文件中,我可以选择GeoMesa的例子。
import com.typesafe.config.ConfigFactory
import org.apache.hadoop.conf.Configuration
import org.geotools.data.Query
import org.locationtech.geomesa.spark.GeoMesaSpark
val exampleConf = ConfigFactory.load("example.conf").root().render()
val params = Map(
"geomesa.converter" -> exampleConf,
"geomesa.converter.inputs" -> "example.csv",
"geomesa.sft" -> "phrase:String,dtg:Date,geom:Point:srid=4326",
"geomesa.sft.name" -> "example")
val query = new Query("example")
val rdd = GeoMesaSpark(params).rdd(new Configuration(), sc, params, query)
我可以选择GeoMesa的 JSON Converter
来创建SpatialRDD。然而,似乎有必要将所有的字段名和类型都分配在 geomesa.sft
paramater和一个转换器配置文件。如果我有很多GeoJson文件,我必须一个一个的手动操作,这显然是非常不方便的。
有什么方法可以让Geomesa转换器从文件中推断出字段名和类型?