这是在 Azure Databricks 上的 R 上安装 rgdal 和 rgeos 的一种方法。每次启动集群时都需要执行第 1 步和第 2 步。第 1 步可以自动化(见下文),但第 2 步需要在单独的脚本中手动执行或添加到 R 脚本的顶部。
步骤1
您需要首先在集群中的 linux 机器上安装 gdal 和 geos。这可以使用 databricks 笔记本中的 bash 脚本来完成。这%s
是允许该单元运行 shell 脚本的神奇命令。
%sh
#!/bin/bash
#Start by updating everything
sudo apt-get update
##############
#### rgdal
#This installs gdal on the linux machine but not the R library (done in R script)
#See https://databricks.com/notebooks/rasterframes-notebook.html
sudo apt-get install -y gdal-bin libgdal-dev
#To be able to install the R library, you also need libproj-dev
#See https://philmikejones.me/tutorials/2014-07-14-installing-rgdal-in-r-on-linux/
sudo apt-get install -y libproj-dev
##############
#### rgeos
#This installs geos on the linux machine but not the R library (done in R script)
#See https://philmikejones.me/tutorials/2014-07-14-installing-rgdal-in-r-on-linux/
sudo apt install libgeos++dev
但是,每次都必须手动运行很烦人,因此您可以创建一个每次在集群启动时运行的初始化脚本。因此,在 databricks python notebook 中,将此代码复制到一个单元格中。中的脚本dbfs:/databricks/init/<name_of_cluster>
将在启动时为具有该名称的集群运行。
#This file creates a bash script called install_packages.sh. The cluster run this file on each startup.
# The bash script will be anything inside the variable script
clusterName = "RStudioCluster"
script = """#!/bin/bash
#Start by updating everything
sudo apt-get update
##############
#### rgdal
#This installs gdal on the linux machine but not the R library (done in R script)
#See https://databricks.com/notebooks/rasterframes-notebook.html
sudo apt-get install -y gdal-bin libgdal-dev
#To be able to install the R library, you also need libproj-dev
#See https://philmikejones.me/tutorials/2014-07-14-installing-rgdal-in-r-on-linux/
sudo apt-get install -y libproj-dev
##############
#### rgeos
#This installs geos on the linux machine but not the R library (done in R script)
#See https://philmikejones.me/tutorials/2014-07-14-installing-rgdal-in-r-on-linux/
sudo apt install libgeos++dev
"""
dbutils.fs.put("dbfs:/databricks/init/%s/install_packages.sh" % clusterName, script, True)
第2步
到目前为止,您刚刚在集群中的 linux 机器上安装了 gdal 和 geos。在此步骤中,您将安装 R 包rgdal
。但是,最新版本与可用rgdal
的最新版本不兼容。有关更多详细信息和解决此问题的替代方法,请参见此处,但如果您对旧版本没问题,那么最简单的解决方法是安装. 您可以在 databricks R笔记本或 Rstudio databricks 应用程序中执行此操作,如下所示:gdal
apt-get
rgdal
rgdal
require(devtools)
install_version("rgdal", version="1.2-20")
install.packages("rgeos")
设置完成
然后你可以像往常一样导入这些库:
library(rgdal)
library(rgeos)