如何从SparkSession对象中创建DataFrame以读取PNG文件格式?

时间:2018-04-26 08:36:49

标签: pyspark apache-spark-2.0

我在开发环境中使用Spark2.0.0。我创建了SparkSession对象,如下所示

spark = SparkSession().getOrCreate()
Image = spark.read.json() 

我可以使用上面的SparkSession来读取json文件。但有没有办法读取图像文件(PNG,JPG)?我试过搜索spark 2.0文档,但没有提到任何关于它的内容。

我的主要目标是从一些localFileSyatem / HDFS位置通过

将图像加载为DF
Image = spark.read.()

并将它们保存为HDFS位置的顺序文件以进行图像处理。

我们如何完成这项任务?任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

您可以使用SparkContext提供的WholeTextFile()方法。我不太习惯在python中编码。但是,我可以用JAVA示例帮助你。

JavaSparkContext sc = new JavaSparkContext();
JavaRDD<Tuple2<String, String>> rdd = sc.wholeTextFiles("image-path", 1).toJavaRDD();
rdd.foreach(x -> {

});

有一次,你掌握了可以使用自己的视频/图像库来处理图像的数据。

答案 1 :(得分:0)

这是一种热门和试用方法。我没有使用sparkSession,而是使用了SparkContext并使用了它的内置功能。<​​/ p>

image = sc.textFile("hdfs:/<path_to/image2.png",1) 

Spark读取它没有任何错误。 希望这对其他人也会派上用场。