11.9. 使用齐柏林飞艇部署GeoMesa Spark¶
阿帕奇 Zeppelin 是一款基于Web的笔记本电脑服务器,用于交互式数据分析,其中包括对 Spark 。
备注
以下说明已在齐柏林飞艇版本上进行了测试 0.7.0 。
11.9.1. 安装齐柏林飞艇¶
请遵循 Zeppelin installation instructions ,以及以下操作说明 configuring the Zeppelin Spark interpreter 。
11.9.2. 使用GeoMesa配置齐柏林飞艇¶
GeoMesa Acumulo Spark运行时JAR可以在 dist/spark
GeoMesa Acumulo二进制分发版的目录,或(构建后) geomesa-accumulo/geomesa-accumulo-spark-runtime-accumulo2/target
GeoMesa源代码分发版的目录。
备注
看见 空间RDD提供程序 有关选择正确的GeoMesa Spark运行时JAR的详细信息。
在齐柏林飞艇网络用户界面中,点击右上角用户名旁边向下的三角形,然后选择“解释器”。
滚动到“Spark”解释器配置出现的底部。
点击解释器名称旁边的“编辑”按钮(在用户界面的右侧)。
- 在“依赖项”部分中,添加GeoMesa JAR,如下所示
的完整本地路径。
geomesa-accumulo-spark-runtime-accumulo2_${VERSION}.jar
如上所述,或Maven组ID:artifactID:版本坐标 (
org.locationtech.geomesa:geomesa-accumulo-spark-runtime-accumulo2_2.12:$VERSION
)
点击“保存”。弹出窗口提示时,单击以重新启动Spark解释器。
不需要重新启动齐柏林飞艇。
11.9.3. 数据绘图¶
Zeppelin提供了用于可视化定量数据的内置工具,可以通过在制表符分隔的输出中添加“%table\n”来调用该工具(请参阅 Zeppelin table display system )。例如,可以使用以下方法打印 DataFrame
通过该显示系统:
def printDF(df: DataFrame) = {
val dfc = df.collect
println("%table")
println(df.columns.mkString("\t"))
dfc.foreach(r => println(r.mkString("\t")))
}
还可以使用第三方库,如 Vegas ,如中所述 拉斯维加斯的阴谋 。对于齐柏林飞艇,以下是隐含的 displayer
应使用的方法:
implicit val displayer: String => Unit = s => println("%html\n"+s)