PySpark:如何将 GitHub 库导入 Databricks?

Posted

技术标签:

【中文标题】PySpark:如何将 GitHub 库导入 Databricks?【英文标题】:PySpark: How can I import a GitHub library into Databricks? 【发布时间】:2020-02-23 12:01:07 【问题描述】:

我想使用这个库在 Databricks 中进行异常检测:iForest。这个库不能通过 PyPi 安装。

如何在 Databricks 中安装来自 GitHub 的库?我读到过使用一种叫做“鸡蛋”的东西,但我不太明白应该如何使用它。

【问题讨论】:

【参考方案1】:

您可以克隆 repo 并创建一个 Python 包,如下所述:https://github.com/titicaca/spark-iforest:

步骤 2. 打包 pyspark-iforest 并通过 pip 安装,跳过此步骤 如果您不需要 python pkg,请步骤

cd spark-iforest/python

python setup.py sdist

pip install dist/pyspark-iforest-<version>.tar.gz

这里你只需要第一个命令来生成包,但是你必须改变第二个来生成一个egg包而不是源分发包:

python3 setup.py bdist_egg

现在,您将在 /dist 文件夹中找到该文件:

pyspark_iforest-2.4.0-py3.7.egg

最后,在 Databricks 上,选择 Create > Library 并选择 Python Egg 以上传生成的文件。更多详情请见here。

【讨论】:

【参考方案2】:

您还可以使用 %pip 从 GitHub 安装笔记本范围的库(请参阅 documentation)。

【讨论】:

您好,欢迎来到 SO!请阅读tour 和How do I write a good answer? 尝试详细说明如何解决问题。【参考方案3】:

如果您在 Databricks 上安装了一个位置,您还可以将pyspark-iforest-<version>.tar.gz 文件复制到那里,然后从那里复制pip install。或使用上传功能(如果已启用),请参阅here。

【讨论】:

除了提供链接之外,您能用您的话解释一下应该做什么吗?将来这些链接可能会损坏或移动到另一个位置【参考方案4】:
%sh git clone https://github.com/titicaca/spark-iforest

然后确保它被克隆到databricks驱动根路径

%sh ls -al 

如果需要,然后使用 pip install

%pip install ./yourpackage_name

如果返回已经满足要求的消息,你必须这样做:

 %pip uninstall -y yourpackage_name 

这将删除可能从PyPi 安装的任何版本的库,而不是 git clone 版本。接下来,重做databricks中的pip安装包。

【讨论】:

以上是关于PySpark:如何将 GitHub 库导入 Databricks?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建 Pyspark 应用程序

将现有源代码导入 GitHub

如何将材料设计库导入 Android Studio?

将Github存储库导入PyCharm

如何将包含多个键值对的列拆分为pyspark中的不同列

如何确定导致库导入缓慢的原因?