我在k8环境中运行了一个spark:一个master和三个worker。
我的机器上运行了以下python 3.7.5代码:
import pyspark
from pyspark import SparkConf, SparkContext
from pyspark.sql import SparkSession
from pyspark.ml.fpm import FPGrowth
import pickle
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
# Create Spark context
spark = SparkSession.builder.master('spark://10.201.30.88:31071')\
.appName('di_mb_spark_remote') \
.config("spark.cores.max", "15") \
.config("spark.executor.memory", "20g")\
.getOrCreate()
sc = spark.sparkContext
sqlContext = pyspark.SQLContext(sc)
# Load rules data
file_lines = []
with open(dir_path + '/data/input.txt','rt') as input_file:
all_lines_data = input_file.readlines()
for line in all_lines_data:
line_list = line.replace('\n','').split(' ')
file_lines.append(line_list)
# add ID column
final_data = []
count = 0
for item in file_lines:
final_data.append((count, item))
count += 1
file_lines=[]
# Convert list to RDD
rdd = sc.parallelize(final_data,numSlices=500)
spark_df = sqlContext.createDataFrame(rdd, ["id","items"]) <==== ERROR HERE
...
...
完整的错误是:
warn taskschedulerimpl:初始作业未接受任何资源;检查集群ui以确保worker已注册并且具有足够的资源
但如果您查看可用资源(或至少spark master可以看到的资源):
pod定义没有ram和cpu方面的限制。主人和工人只是“要求”cpu:100m
谢谢你的帮助。
暂无答案!
目前还没有任何答案,快来回答吧!