在 AWS S3 上运行 GeoMesa HBase,我如何远程摄取/导出

问题描述

我正在 EMR 集群上运行 Geomesa-Hbase,按照 here 所述进行设置。我可以通过 ssh 连接到 Master 并从那里摄取/导出。我将如何从例如 lambda 函数(最好是 python 解决方案)远程摄取/导出数据。现在,对于摄取部分,我正在运行一个 lambda 函数,该函数仅通过 SSH 发送一个 shell 命令:

c = paramiko.SSHClient()
c.connect(hostname = host,username = "ec2-user",pkey = k )
c.exec_command("geomesa-hbase ingest <file_to_ingest_on_S3> ...")

但我想我应该能够在不使用 ssh 的情况下远程摄取/导出。我一直在寻找解决方案,但到目前为止没有运气。

解决方法

您只需在远程设备上运行 GeoMesa 代码即可远程摄取或导出。这可能意味着安装命令行工具,或在您选择的处理框架中使用 GeoTools API。 GeoServer 通常用于交互式(非批量)查询。

对于通过 AWS lambdas 摄取/导出没有任何现成的解决方案,但您可以使用 GeoMesa 命令行工具创建一个 docker 映像并调用它。

另请注意,命令行工具支持通过 map/reduce 作业进行摄取和导出,这允许您使用本地安装运行分布式进程。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...