查找最新文件pyspark

时间:2018-05-25 09:38:37

标签: apache-spark pyspark

所以我已经弄清楚如何使用python找到最新的文件。现在我想知道我是否可以使用pyspark找到最新的文件。目前我指定了一条路径,但我希望pyspark获取最新修改的文​​件。

当前代码如下所示:

df = sc.read.csv("Path://to/file", header=True, inderSchema=True)

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我从这个答案中复制代码以使HDFS API与PySpark一起使用:Pyspark: get list of files/directories on HDFS path

URI           = sc._gateway.jvm.java.net.URI
Path          = sc._gateway.jvm.org.apache.hadoop.fs.Path
FileSystem    = sc._gateway.jvm.org.apache.hadoop.fs.s3.S3FileSystem
Configuration = sc._gateway.jvm.org.apache.hadoop.conf.Configuration

fs = # Create S3FileSystem object here

files = fs.listStatus(Path("Path://to/file"))

# You can also filter for directory here
file_status = [(file.getPath().toString(), file.getModificationTime()) for file in files]

file_status.sort(key = lambda tup: tup[1], reverse= True)

most_recently_updated = file_status[0][0]

spark.read.csv(most_recently_updated).option(...)