val hadoopConf = new Configuration()
val fs = FileSystem.get(hadoopConf)
val status = fs.listStatus(new Path("/home/Test/")).map(_.getPath().toString)
val df = spark.read.format("json").load(status : _*)
如何在df的新列中添加文件名?
我试过:
val dfWithCol = df.withColumn("filename",input_file_name())
但它在所有列中添加相同的文件名?有人能提出更好的方法吗?
1条答案
按热度按时间ljo96ir51#
这是预期的行为,因为您的json文件
more than one record
在里面。spark增加了
filenames
对于每个记录,如果要检查所有唯一的文件名,请执行以下操作distinct
在文件名列上在上面的例子中你可以看到
unique filenames
对于每条记录(as i have 1 record in each json file)
.