gpt4 book ai didi

r - 在 Azure Databricks 上安装 rgdal 和 rgeos

转载 作者:行者123 更新时间:2023-12-04 15:48:20 25 4
gpt4 key购买 nike

我无法在 Databricks 上安装 rgdal 和 rgeos,有什么建议吗?

configure: error: gdal-config not found or not executable.
ERROR: configuration failed for package ‘rgdal’
* removing ‘/databricks/spark/R/lib/rgdal’

configure: error: geos-config not found or not executable.
ERROR: configuration failed for package ‘rgeos’
* removing ‘/databricks/spark/R/lib/rgeos’

最佳答案

这是在 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

但是,每次都必须手动运行,这很烦人,因此您可以创建一个每次启动集群时运行的 init 脚本。因此,在 databricks python 笔记本中,将此代码复制到单元格中。 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 包 rgdalrgdal 的最新版本但是,与最新版本的 gdal 不兼容可用 apt-get 。请参阅here了解更多详细信息和解决此问题的替代方法,但如果您可以使用旧版本的 rgdal那么最简单的解决方法是安装 rgdal 的 1.2-20 版本。您可以在 databricks R 笔记本或 Rstudio databricks 应用程序中执行此操作,如下所示:

require(devtools)
install_version("rgdal", version="1.2-20")
install.packages("rgeos")

设置完成

然后您可以像往常一样导入这些库:

library(rgdal)
library(rgeos)

关于r - 在 Azure Databricks 上安装 rgdal 和 rgeos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54856280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com