我有一个数据框,其中包含带有URL链接的列,我希望显示每个图像。
我尝试了以下针对本地文件的解决方案,但不适用于URL链接。 Spark using PySpark read images
如果有人知道如何使用URL链接对pyspark数据框完成此操作,请进行共享。
网址jpg示例: https://steemitimages.com/DQmWSoXZPHH2XEuVRUbPqiPLf6niA2xfvFXYZ2FYPYhMQ4X/1%20(3).jpg
答案 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 |
+-------------------------------------------+-----+------+
参考: