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的详细信息。

  1. 在齐柏林飞艇网络用户界面中,点击右上角用户名旁边向下的三角形,然后选择“解释器”。

  2. 滚动到“Spark”解释器配置出现的底部。

  3. 点击解释器名称旁边的“编辑”按钮(在用户界面的右侧)。

  4. 在“依赖项”部分中,添加GeoMesa JAR,如下所示
    1. 的完整本地路径。 geomesa-accumulo-spark-runtime-accumulo2_${VERSION}.jar 如上所述,或

    2. Maven组ID:artifactID:版本坐标 (org.locationtech.geomesa:geomesa-accumulo-spark-runtime-accumulo2_2.12:$VERSION )

  5. 点击“保存”。弹出窗口提示时,单击以重新启动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)