Инициализируйте оболочку PySpark, запустив скрипт в моем терминале Linux (Spark версии 2.4.4) - PullRequest
0 голосов
/ 18 октября 2019

Я использую PySpark на моем компьютере с Linux. Моя версия Spark 2.4.4.

У меня есть небольшой скрипт, который инициализирует основные точки входа, включая SparkContext, SQLContext и SparkSession. Это код.

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)

import pyspark.sql.functions as sqlfunc

Я не хочу вводить это каждый раз, когда открываю PySpark. Таким образом, я хотел бы

a) запустить этот скрипт в моем терминале

b) продолжить работу в моей интерактивной оболочке PySpark

Как я могу это сделать?

Я прочитал эту ветку, чтобы узнать, как запустить скрипт PySpark в моем терминале.

https://stackoverflow.com/a/48861241/12170242

Он запускает скрипт, но не открывает оболочку PySpark, поэтому это не совсем то, что я хочу.

Ответы [ 2 ]

1 голос
/ 18 октября 2019

SparkSession - это унифицированная функциональность, не нужно заново инициализировать.

Приходя к другой части импорта функциональности по умолчанию, вы можете использовать эту

>>> execfile("<some name>.py")

Вы можете написать всездесь требуется искровой код и выполните его. Например:

vi scrp.py

df1 = sc.parallelize([[1,2,3], [2,3,4]]).toDF(("a", "b", "c"))
df1.show()

from pyspark.sql.functions import *

В pyspark-shell

>>> execfile("scrp.py")
+---+---+---+
|  a|  b|  c|
+---+---+---+
|  1|  2|  3|
|  2|  3|  4|
+---+---+---+

>>> df1.show()
+---+---+---+
|  a|  b|  c|
+---+---+---+
|  1|  2|  3|
|  2|  3|  4|
+---+---+---+

>>> df1.withColumn("news", when(col("a") > 1, "t")).show()
+---+---+---+----+
|  a|  b|  c|news|
+---+---+---+----+
|  1|  2|  3|null|
|  2|  3|  4|   t|
+---+---+---+----+

Надеюсь, это поможет ..

0 голосов
/ 18 октября 2019

Когда вы открываете оболочку pyspark, sparkSession или sparkContext уже доступны как spark или sc соответственно.

sparkSession доступно через Apache Spark v2.0, а более ранние версии имели бы sc как sparkContext:

РЕДАКТИРОВАТЬ:

Вы можете написать коддля импорта всего и создания sparkContext, sqlContext и т. д. и запуска оболочки python в интерактивном режиме.

python -i yourfile.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...