在Spark-shell中使用库

4
我想在spark-shell和/或.scala文件中使用这个库来操作一些数据。我该怎么做?我不能使用maven。
编辑可能的重复:我也没有jar包;如果这是解决方案的一部分,我如何从该库创建一个jar包?

该项目本身是使用Maven构建的。您可以下载源代码并构建它,或直接从Maven Central下载jar包:https://mvnrepository.com/artifact/dk.tbsalling/aismessages。如果您单击特定版本,则会出现“下载Jar”链接。 - Matt
@Matt - 这个问题不是你链接的那个重复的问题,并且确实有一个特定的答案,但它在 Stack Overflow 搜索结果中并没有出现在靠前的位置。请看我的回答。 - Yawar
1
@Yawar 好的,我撤回了我的关闭投票。 - Matt
1个回答

12

你所引用的库可在Maven中央仓库中获取,spark-shell可以自动从Maven中央仓库和其他几个受欢迎的仓库下载库,只需提供正确的Maven坐标即可,无需显式使用Maven。(实际上,它甚至允许您指定自己的额外Maven仓库并搜索这些仓库。)请参见http://spark.apache.org/docs/latest/rdd-programming-guide.html#using-the-shell

对于你的情况,命令应该类似于

./bin/spark-shell --master local[4] --packages "dk.tbsalling:aismessages:2.2.1"

注意:您可以浏览https://spark-packages.org/查找Spark包。


谢谢!我已经接受了你的答案,但为了确保我理解正确,你指定 --master 来显示哪个是主节点?默认情况下,不是从启动 shell 的节点就是主节点吗?还有,关于 local[4]。我搜索了一下,发现了 https://dev59.com/Worda4cB1Zd3GeqPLmOy 。难道 local[*] 总是更合适吗?或者在这种情况下指定 4 有什么好处吗? - Dimebag
@Dimebag - --master whatever 参数并不是很重要,你应该使用你已经在使用的 :-) 这里关键的是 --packages "groupId:artifactId:versionId" 参数。 - Yawar
这个安装会将库安装到您的本地Spark中,这样每次都不需要再次安装吗?如果不是,如何在本地安装该库? - WestCoastProjects

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接