【发布时间】:2021-05-26 13:25:32
【问题描述】:
我在一个目录中有 10 个 jpeg 图像。 我想使用 pyspark 同时阅读所有这些内容。 我尝试如下。
from PIL import Image
from pyspark import SparkContext, SparkConf
conf = SparkConf()
spark = SparkContext(conf=conf)
files = glob.glob("E:\\tests\\*.jpg")
files_ = spark.parallelize(files)
arrs = []
for fi in files_.toLocalIterator():
im = Image.open(fi)
data = np.asarray(im)
arrs.append(data)
img = np.array(arrs)
print (img.shape)
代码无误结束,打印出img.shape;但是,它没有并行运行。
你能帮帮我吗?
【问题讨论】:
-
在您通知我如下
bds = spark.read.format("binaryFile").option("pathGlobFilter", "*.jpg").load("E:\\tests\\") print (bds)后,我尝试了。但是,它以错误结束,Exception: Java gateway process exited before sending its port number -
@thunder 通常当我有这个异常是因为我的代码没有看到 JAVA_HOME 环境变量。检查是否是您的情况,然后重试
-
@Kafels 我已经在 C:\JAVA 中安装了
jdk-16.0.1_windows-x64_bin并将其设置为JAVA_HOME environment variable。 -
@thunder 嗯,对我来说唯一有效的版本是 Java 8 版本
标签: apache-spark pyspark parallel-processing python-imaging-library