Я новичок в pyspark и сталкиваюсь с несколькими проблемами при выполнении заданий.
Я отправляю задание автономному экземпляру spark с двумя правильно настроенными исполнителями. Иногда оба исполнителя начинают работать параллельно и используют выделенные ресурсы.ресурсы правильно и работа завершается успешно.Но иногда только один исполнитель начинает работать, а другой остается бездействующим при отправке того же самого задания, которое изначально выполнялось идеально.
, в чем может быть проблема, что каждый раз, когда оба исполнителя не выполняют свои функции.
ниже мой код.
from flask import Blueprint
import time
from pyspark import SparkContext
from pyspark import SQLContext
import pyspark
jl = Blueprint('HelloWorld', __name__, url_prefix='/')
@jl.route('/join')
def join_logic():
conf = pyspark.SparkConf().setAll([('spark.executor.memory', '24g'), ('spark.executor.cores', '3'), ('spark.worker.memory', '56g'), ('spark.driver.memory','24g'), ('spark.worker.cores', '6'), ('spark.network.timeout', '10000001'), ('spark.executor.heartbeatInterval', '10000000')])
sc = SparkContext("spark://X.X.X.X:7077","JOB_1", conf=conf)
sqlContext = SQLContext(sc)
df = sqlContext.read.format('jdbc').options(
url='jdbc:mysql://x.x.x.x/schemaName?autoReconnect=true&useSSL=false',
driver='com.mysql.jdbc.Driver',
dbtable='table_name',
user='root',
password='xxxx').load()
df1 = sqlContext.read.format('jdbc').options(
url='jdbc:mysql://X.X.X.X/schema_Name?autoReconnect=true&useSSL=false',
driver='com.mysql.jdbc.Driver',
dbtable='Table_Name',
user='root',
password='xxxx').load()
result = df.join(df1, df.column == df1.column, 'left')
res = result.count()
sc.stop()
return str(res);