如何在Mac上安装带有自制程序的apache-spark 2.2.0

ser*_*lin 6 homebrew apache-spark

"$ brew install apache-spark'让我获得版本2.3.x.'$ brew search apache-spark'和'$ brew info apache-spark'不提供安装不同版本的选项.是否可以获得自制的不同版本?

Tom*_*ous 14

运行这些命令(假设你已经通过Homebrew安装了apache-spark)

cd "$(brew --repo homebrew/core)"
git log Formula/apache-spark.rb
Run Code Online (Sandbox Code Playgroud)

例如.2.2.0版本:

...

提交bdf68bd79ebd16a70b7a747e027afbe5831f9cc3

作者:ilovezfs

日期:星期二7月11日22:19:12 2017 -0700

apache-spark 2.2.0(#15507)

....

git checkout -b  apache-spark-2.2.0 bdf68bd79ebd16a70b7a747e027afbe5831f9cc3
brew unlink apache-spark
HOMEBREW_NO_AUTO_UPDATE=1 brew install apache-spark
Run Code Online (Sandbox Code Playgroud)

清理

git checkout master
git branch -d apache-spark-2.2.0 
Run Code Online (Sandbox Code Playgroud)

检查/切换:

brew list apache-spark --versions
brew switch apache-spark 2.2.0
Run Code Online (Sandbox Code Playgroud)


小智 6

我遇到了同样的问题,当我通过自制程序安装时,默认情况下它只能找到 apache-spark 2.3.0 公式,甚至在删除的存储库中也找不到 2.2.0 。

因此,我从路径 /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula 备份了现有的 apache-spark.rb (版本 2.3.0),然后用以下内容覆盖:

class ApacheSpark < Formula
  desc "Engine for large-scale data processing"
  homepage "https://spark.apache.org/"
  url "https://www.apache.org/dyn/closer.lua?path=spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz"
  version "2.2.0"
  sha256 "97fd2cc58e08975d9c4e4ffa8d7f8012c0ac2792bcd9945ce2a561cf937aebcc"
  head "https://github.com/apache/spark.git"

  bottle :unneeded

  def install
    # Rename beeline to distinguish it from hive's beeline
    mv "bin/beeline", "bin/spark-beeline"

    rm_f Dir["bin/*.cmd"]
    libexec.install Dir["*"]
    bin.write_exec_script Dir["#{libexec}/bin/*"]
  end

  test do
    assert_match "Long = 1000", pipe_output(bin/"spark-shell", "sc.parallelize(1 to 1000).count()")
  end
end
Run Code Online (Sandbox Code Playgroud)

然后按照上述过程重新安装我有2.2.0和2.3.0并带有切换功能。

希望能帮助到你。

  • 您还需要将 URL 更新为:“http://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz”。代码片段中的 URL 不再有效。 (2认同)