Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 火花“;在“之前修改”;从文件中读取数据时的选项_Apache Spark_Apache Spark Sql_Spark Streaming - Fatal编程技术网

Apache spark 火花“;在“之前修改”;从文件中读取数据时的选项

Apache spark 火花“;在“之前修改”;从文件中读取数据时的选项,apache-spark,apache-spark-sql,spark-streaming,Apache Spark,Apache Spark Sql,Spark Streaming,我正在使用Spark-2.4从hadoop读取文件。 要求是读取修改时间早于某个提供值的文件 我偶然看到spark文档,其中提到了在之前修改的选项,请参考以下spark文档,但我不确定spark 2.4中是否提供该选项,如果没有,我如何实现这一点?自Spark 3+以来,选项modifiedBefore和modifiedBefore都可用,只能批量使用,不能流式处理。对于Spark 2.4,您可以使用Hadoop文件系统方法,并使用getModificationTime过滤文件 下面是一个函数示

我正在使用Spark-2.4从hadoop读取文件。 要求是读取修改时间早于某个提供值的文件


我偶然看到spark文档,其中提到了在之前修改的选项
,请参考以下spark文档,但我不确定spark 2.4中是否提供该选项,如果没有,我如何实现这一点?

自Spark 3+以来,选项
modifiedBefore
modifiedBefore
都可用,只能批量使用,不能流式处理。对于Spark 2.4,您可以使用Hadoop文件系统方法,并使用
getModificationTime
过滤文件

下面是一个函数示例,该函数采用路径和阈值,并返回使用阈值筛选的文件路径列表:

import org.apache.hadoop.fs.Path
def getFilesModifiedBefore(路径:路径,modifiedBefore:String)={
val format=new java.text.simpleDataFormat(“yyyy-MM-dd'T'HH:MM:ss”)
val thresHoldTime=format.parse(modifiedBefore).getTime()
val files=path.getFileSystem(sc.hadoopConfiguration).globStatus(path)
files.filter(u.getModificationTime
然后将其与spark.read.csv一起使用:

val df=spark.read.csv(getFilesModifiedBefore(新路径(“/mypath”),“2021-03-17T10:46:12”):*)