gpt4 book ai didi

scala - 如何将类从一个或多个本地 .jar 文件导入 Spark/Scala Notebook?

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

我正在努力将 JAR 中的类加载到我的 Scala-Spark 内核 Jupyter 笔记本中。我在这个位置有 jar :/home/hadoop/src/main/scala/com/linkedin/relevance/isolationforest/内容如下:

-rwx------ 1 hadoop hadoop   7170 Sep 11 20:54 BaggedPoint.scala
-rw-rw-r-- 1 hadoop hadoop 186719 Sep 11 21:36 isolation-forest_2.3.0_2.11-1.0.1.jar
-rw-rw-r-- 1 hadoop hadoop 1482 Sep 11 21:36 isolation-forest_2.3.0_2.11-1.0.1-javadoc.jar
-rw-rw-r-- 1 hadoop hadoop 20252 Sep 11 21:36 isolation-forest_2.3.0_2.11-1.0.1-sources.jar
-rwx------ 1 hadoop hadoop 16133 Sep 11 20:54 IsolationForestModelReadWrite.scala
-rwx------ 1 hadoop hadoop 5740 Sep 11 20:54 IsolationForestModel.scala
-rwx------ 1 hadoop hadoop 4057 Sep 11 20:54 IsolationForestParams.scala
-rwx------ 1 hadoop hadoop 11301 Sep 11 20:54 IsolationForest.scala
-rwx------ 1 hadoop hadoop 7990 Sep 11 20:54 IsolationTree.scala
drwxrwxr-x 2 hadoop hadoop 157 Sep 11 21:35 libs
-rwx------ 1 hadoop hadoop 1731 Sep 11 20:54 Nodes.scala
-rwx------ 1 hadoop hadoop 854 Sep 11 20:54 Utils.scala
当我尝试像这样加载 IsolationForest 类时: import com.linkedin.relevance.isolationforest.IsolationForest我的笔记本出现以下错误:
<console>:33: error: object linkedin is not a member of package com
import com.linkedin.relevance.isolationforest.IsolationForest
我已经在谷歌上搜索了几个小时来达到这一点,但无法进一步取得进展。你下一步怎么做?
顺便说一下,我正在尝试使用这个包: https://github.com/linkedin/isolation-forest
谢谢你。

最佳答案

对于斯卡拉:
如果您正在使用 spylon-kernel ,那么你可以在 %%init_spark 中指定额外的 jars部分,如 described in the docs (第一个用于 jar 文件,第二个用于包,如下所述):

%%init_spark
launcher.jars = ["/some/local/path/to/a/file.jar"]
launcher.packages = ["com.acme:super:1.0.1"]
对于 Python:
在 Jupyter notebook 的第一个单元格中,在初始化 SparkSession 之前, 请执行下列操作:
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--jars <full_path_to>/isolation-forest_2.3.0_2.11-1.0.1.jar pyspark-shell'
这会将 jar 添加到 PySpark 上下文中。但最好使用 --packages而不是 --jars因为它还会获取所有必要的依赖项,并将所有内容放入内部缓存中。例如
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.linkedin.isolation-forest:isolation-forest_2.3.0_2.11:1.0.0 pyspark-shell'
您只需要选择与您的 PySpark 和 Scala 版本匹配的版本(2.3.x 和 2.4 是 Scala 2.11,3.0 是 Scala 2.12),如 it's listed in the Git repo .

关于scala - 如何将类从一个或多个本地 .jar 文件导入 Spark/Scala Notebook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63854636/

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