Как проверить версию Spark

как указано, как узнать, какая версия spark была установлена ​​​​в CentOS?

В текущей системе установлен cdh5.1.0.


person HappyCoding    schedule 17.04.2015    source источник


Ответы (15)


Если вы используете Spark-Shell, он отображается в баннере при запуске.

Программно можно использовать SparkContext.version.

person Shyamendra Solanki    schedule 17.04.2015
comment
Хм.. Я получаю <property object at 0x7f8d2afb2998> в оболочке Python - person Piko Monde; 04.03.2020
comment
Версия @PikoMonde — это свойство класса SparkContext, поэтому вам просто нужно вызвать его в экземпляре этого класса. - person Joshua Ostrom; 02.04.2020
comment
Да, я просто это понимаю. Я думаю, что для кого-то вроде меня, кто плохо знаком с python и spark, полный код (программно) полезен. Здесь я написал полный код ниже. - person Piko Monde; 03.04.2020

Откройте терминал оболочки Spark, запустите sc.version

введите описание изображения здесь

person Venu A Positive    schedule 27.08.2015

Вы можете использовать команду spark-submit: spark-submit --version

person Ozgur Ozturk    schedule 22.03.2016

В программе/оболочке Spark 2.x

использовать

spark.version   

Где spark переменная относится к SparkSession объекту

Использование журналов консоли в начале spark-shell

[root@bdhost001 ~]$ spark-shell
Setting the default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.0
      /_/

Без входа в код/оболочку

spark-shell --version

[root@bdhost001 ~]$ spark-shell --version
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.0
      /_/
                        
Type --help for more information.

spark-submit --version

[root@bdhost001 ~]$ spark-submit --version
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.0
      /_/
                        
Type --help for more information.
person mrsrinivas    schedule 25.02.2017
comment
когда-нибудь это будет spark2-shell --version или spark2-submit --version - person mrsrinivas; 17.09.2019

Если вы используете Databricks и разговариваете с ноутбуком, просто запустите:

spark.version
person Pat    schedule 06.01.2017

Если вы используете pyspark, используемую версию spark можно увидеть рядом с жирным логотипом Spark, как показано ниже:

manoj@hadoop-host:~$ pyspark
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel).

Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 1.6.0
      /_/

Using Python version 2.7.6 (default, Jun 22 2015 17:58:13)
SparkContext available as sc, HiveContext available as sqlContext.
>>>

Если вы хотите получить версию spark явно, вы можете использовать метод версии SparkContext, как показано ниже:

>>>
>>> sc.version
u'1.6.0'
>>>
person Manoj Kumar G    schedule 11.04.2018

используйте ниже, чтобы получить искровую версию

spark-submit --version
person Swift user    schedule 02.08.2018

Какую бы команду оболочки вы ни использовали, либо spark-shell, либо pyspark, она попадет на логотип Spark с названием версии рядом с ним.

$ pyspark
$ Python 2.6.6 (r266:84292, 22 мая 2015 г., 08:34:51) [GCC 4.4.7 20120313 (Red Hat 4.4.7-15)] на linux2 ....... ..... ........... Добро пожаловать в
версию 1.3.0

person Murari Goswami    schedule 18.01.2016

Если вы используете блокнот Zeppelin, вы можете запустить:

sc.version 

чтобы узнать версию scala, вы также можете запустить:

util.Properties.versionString
person HISI    schedule 02.08.2018

Если вы хотите запустить его программно, используя скрипт python

Вы можете использовать это script.py:

from pyspark.context import SparkContext
from pyspark import SQLContext, SparkConf

sc_conf = SparkConf()
sc = SparkContext(conf=sc_conf)
print(sc.version)

запустите его с помощью python script.py или python3 script.py


Этот скрипт выше также работает в оболочке Python.


Использование print(sc.version) непосредственно в скрипте Python не сработает. Если вы запустите его напрямую, вы получите эту ошибку: NameError: name 'sc' is not defined.

person Piko Monde    schedule 04.03.2020

Если вы хотите распечатать версию программно, используйте

 from pyspark.sql import SparkSession 

 spark = SparkSession.builder.master("local").getOrCreate() 
 print(spark.sparkContext.version)
person Julian2611    schedule 09.07.2020

Для большинства ответов здесь требуется инициализация sparksession. Этот ответ предоставляет способ статического вывода версии из библиотеки.

ammonites@ org.apache.spark.SPARK_VERSION
res4: String = "2.4.5"
person Dyno Fu    schedule 11.03.2020
comment
Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, почему и/или как этот код отвечает на вопрос, повышает его ценность в долгосрочной перспективе. - person Igor F.; 11.03.2020

Если, как и я, кто-то запускает spark внутри контейнера докера и у него мало средств для spark-shell, можно запустить блокнот jupyter, создать объект SparkContext с именем sc в блокноте jupyter и вызвать версию, как показано в кодах ниже:

docker run -p 8888:8888 jupyter/pyspark-notebook ##in the shell where docker is installed

import pyspark
sc = pyspark.SparkContext('local[*]')
sc.version

person yogender    schedule 30.05.2021

Чтобы напечатать версию Spark в оболочке, выполните следующие действия.

SPARK_VERSION=$(spark-shell --version &> tmp.data ; grep version tmp.data | head -1 | awk '{print $NF}';rm tmp.data)
echo $SPARK_VERSION
person Khetanshu    schedule 12.02.2020

Неинтерактивный способ, который я использую для правильной установки версии PySpark AWS EMR:

# pip3 install pyspark==$(spark-submit --version 2>&1| grep -m 1  -Eo "([0-9]{1,}\.)+[0-9]{1,}") 
Collecting pyspark==2.4.4

решение:

#  spark-shell --version 2>&1| grep -m 1  -Eo "([0-9]{1,}\.)+[0-9]{1,}"
2.4.4

решение:

# spark-submit --version 2>&1| grep -m 1  -Eo "([0-9]{1,}\.)+[0-9]{1,}"
2.4.4
person Valeriy Solovyov    schedule 08.07.2020
comment
Он использует grep и pipe, в то время как другой ответ использует неинтерактивный подход без кэширования вывода в файле. Есть пример, как использовать его с установкой pip. - person Valeriy Solovyov; 19.07.2020