我尝试从HDFS中读取8GB的映像,其嵌套目录结构如下:
train_set |___dir_0 | |___0.jpg | |___1.jpg |___dir_2 | |___0.jpg | |___1.jpg
我正在使用Scala和Spark,我已经尝试了所有的doc解决方案,但我无法摆脱这个。我希望有一个Dataframe,其中列“image”和“label”,其中label是图像的父目录的名称(或索引)。非常感谢您的时间。
vsdwdz231#
当你把图像作为 Dataframe 读取时,你会得到一个结构列,叫做image,image的一个子列是origin,它标记了父目录。
spark.read.format("image").load("train_set/dir_0/*.jpg", "train_set/dir_2/*.png") .selectExpr("image", "image.origin as label").show
如果您使用的spark版本〉= 3.0.0,那么您可以使用some options,而不是将多个文件路径作为参数传递给load()方法。
1条答案
按热度按时间vsdwdz231#
当你把图像作为 Dataframe 读取时,你会得到一个结构列,叫做image,image的一个子列是origin,它标记了父目录。
如果您使用的spark版本〉= 3.0.0,那么您可以使用some options,而不是将多个文件路径作为参数传递给load()方法。