GeoMesa为在GeoMesa数据之上执行Spark任务提供了支持,可以使用标准CQL查询来初始化RDD,通过使用CQL函数来转换数据。
(一)开发任务
使用GeoMesa Spark
为GeoMesa编写自定义Scala代码,以生成GDELT事件数据的直方图和空间密度。
(二)开发准备
Hadoop 2.6及以上(用Yarn资源管理),使用Map-Reduce获取GDELT数据。
Accumulo1.9.2及以上的数据库,一个有权限的用户以便访问数据
Spark2.2.x、2.3.x、2.4.x
Java JDK8
Apache Maven 3.5.2及以上
Git客户端
官网的spark基础分析的前提是,Spark已安装配置,Hadoop集群和Yarn已运行,使用spark-submit提交Job到集群。
(三)样例代码
下载代码
1 | $ git clone https://github.com/geomesa/geomesa-tutorials.git |
代码分析(CountByDay)
1 | //设置连接参数 |
另一个案例:计算空间事件的密度
我们通过离散空间域并计算每个网格单元中特征的出现来计算我们的特征的密度,通过GeoHashes来实现离散化(设置比特位数)
1 | //创建一个RDD[SimpleFeature] |