使用Pyspark显示URL图像

时间:2019-05-29 00:31:32

标签: pyspark

我有一个数据框,其中包含带有URL链接的列,我希望显示每个图像。

我尝试了以下针对本地文件的解决方案,但不适用于URL链接。 Spark using PySpark read images

如果有人知道如何使用URL链接对pyspark数据框完成此操作,请进行共享。

网址jpg示例: https://steemitimages.com/DQmWSoXZPHH2XEuVRUbPqiPLf6niA2xfvFXYZ2FYPYhMQ4X/1%20(3).jpg

1 个答案:

答案 0 :(得分:1)

加载图像仅适用于本地路径或类似路径的hdfs。 您只能将此映像下载到本地磁盘,然后再加载。


import urllib.request

# path to your image source directory
sample_img_dir = /tmp/images

urllib.request.urlretrieve(' https://steemitimages.com/DQmWSoXZPHH2XEuVRUbPqiPLf6niA2xfvFXYZ2FYPYhMQ4X/1%20(3).jpg', sample_img_dir+'/image1.jpg')


# Read image data using new image scheme
image_df = spark.read.format("image")\
           .option("dropInvalid", true)\
           .load(sample_img_dir)


image_df.select("image.origin", "image.width", "image.height").show(truncate=False)
+-------------------------------------------+-----+------+
|origin                                     |width|height|
+-------------------------------------------+-----+------+
|file:///tmp/images/image1.jpg              |300  |311   |
|file:///tmp/images/image2.jpg              |199  |313   |
|file:///tmp/images/image3.jpg              |300  |200   |
|file:///tmp/images/image4.jpg              |300  |296   |
+-------------------------------------------+-----+------+

参考: