如何在 PySpark 中管理 Python 相依性套件

使用 Conda

使用 Virtualenv

使用 PEX

結論

  • Conda:這是其中一個最被廣為使用的套件管理系統。在 Apache Spark 3.0 和較低的版本裡面,Conda 只有在 YARN 叢集中被支援,而它在要來的 Apacher Spark 3.1 中能夠在所有種類的叢集類型中運作。
  • Virtualenv:使用者不用透過額外的安裝就能使用它,因為它在 Python 中是內建的程式庫,但它會需要所有節點中都裝有相同的 Python 而 Conda 並不需要。 Virtualenv 在 Apache Spark 3.0 和較低的版本裡面,只能在 YARN 叢集中可以運作,而要來的 Apache Spark 3.1 中,所有其它叢集類型都支援 Virtualenv 。
  • PEX:它在任何 Apache Spark 版本、任何叢集類型都能夠被使用,雖然它可以說是沒被那麼廣泛地被使用而且需要在所有節點中裝有相同的 Python 而 Conda 不需要。

註記

Photo by Kelly Sikkema on Unsplash

--

--

--

10 x AWS-certified, Data Architect in the 104 Corporation. An AWS Community Builder

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Scott Hsieh (史考特)

Scott Hsieh (史考特)

10 x AWS-certified, Data Architect in the 104 Corporation. An AWS Community Builder

More from Medium

PySpark CheatSheet and More

A Convenient Way to Run PySpark

Python Data Preprocessing Using Pyspark

Spark Streaming with Python