iObjects for Spark时空大数据分析引擎能够帮助使用者进行高效的时空大数据分析,它既能够做为Apache Spark项目在时空数据领域的扩展模块,为软件开发人员服务,也能够做为一个开箱即用的时空大数据分析工具包,为数据分析人员服务。html
iObjects for Spark时空大数据分析引擎支持基于虚拟机或Docker的快速部署,从而能够在云计算基础设施中统一管理和按需运行。在【iObjects for Spark-时空大数据分析引擎】中介绍了iObjects for Spark的安装和使用方法,这里咱们将其安装到Docker中,建立本身的Docker镜像,从而能够在分布式环境中快速部署。git
我用的Mac OS X,如今的Docker已经原生支持了,不用像之前要安装VirtualBox,再使用Vagrant了。 到这里http://www.docker.io下载相应的版本,而后运行安装程序,就能够了。github
若是使用Ubuntu,建议使用 http://get.docker.io下载的脚本进行安装,官方的安装方法貌似与Ubuntu内置的lxd有冲突,常常出问题。方法以下:docker
wget http://get.docker.io -O docker-setup.sh sudo chmod +x docker-setup.sh ./docker-setup.sh
采用Jupyter的官方Docker技术栈。apache
docker pull jupyter/all-spark-notebook
mkdir Docker cd Docker mkdir GISpark cd GISpark
注意,目前该代码库还没有开放,感兴趣的请联系超图软件研究院。浏览器
git clone https://git.oschina.net/supermap/iobjects2016.git
docker run -it --name GISpark -p 9000:8888 --user root -e GRANT_SUDO=yes -v ~/Docker/GISpark:/home/jovyan/work/GISpark jupyter/all-spark-notebook
打开浏览器,输入:http://localhost:9000。缓存
sudo apt update sudo apt upgrade sudo apt install mvn
使用maven进行编译,全部的依赖包将自动下载。以下:less
cd iobjects2016 mvn package
在安装完 SuperMap iObjects Java 组件后,须要将 SuperMap iObjects Java 组件的 Bin 目录路径设置到 spark-env.h
的 LD_LIBRARY_PATH
中:maven
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${SUPERMAP_HOME}/Bin
同时,咱们须要设置 iobjects-spark-0.1.0.jar 到 SPARK_CLASSPATH
中:分布式
export SPARK_CLASSPATH=$SPARK_CLASSPATH:${SUPERMAP_HOME}/Bin/iobjects-spark-0.1.0.jar
在Spark 1.0+ 版本,SPARK_CLASSPATH
再也不被推荐使用,能够在 spark-submit
提交做业时使用--driver-class-path
来设定程序驱动端的Java类路径,同时,使用spark.executor.extraClassPath
设定做业执行端的Java类库路径。 * 值得注意的是,若是使用 OracleJDK 进行程序开发,须要使用 SuperMap iObjects Java Home/Bin 目录下的 libmawt.so 文件替换 $JRE_HOME/lib/amd64/headless 目录下的 libmawt.so 文件,并同步修改集群中全部节点。 完成 SuperMap iObjects Java 部署后,能够将 SuperMap iObjects Java 的docker镜像配置为Spark的集群节点,而后经过Spark进行调用。关于集群的配置,再下一篇Blog中再行讲述。
支持类型包括点数据渲染图,点数据热度图,缓存结果能够写入HDFS中,也能够写入mongoDB中 在使用mongoDB做为缓存存储时,地图名称在--output参数中给出 若是结果存储在本地,则经过--name参数给出 BuildCache参数列表:
usage: BuildCache |--input input path |--bounds left,right,bottom,top |--level levecount (default 3) |--output path or mongo connection info ( ip:27017,Database,CacheName,VersionAlias) |--type basic or heatmap |--name cacheName |--help
更多的用法参考:【iObjects for Spark-时空大数据分析引擎】。