我在K8环境中奔跑着:一个主人和三个工人。
我在计算机上运行的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:初始作业没有接受任何资源;检查您的群集用户界面,以确保工作人员已注册并拥有足够的资源
但是,如果您查看可用资源(或者至少是Spark Master可以看到的资源):
对于POD定义,在RAM和CPU方面没有设置限制。主人和工人只是“请求” CPU:100m
感谢帮助。