Apache spark 控制文件的Spark流

Apache spark 控制文件的Spark流,apache-spark,spark-streaming,spark-dataframe,Apache Spark,Spark Streaming,Spark Dataframe,我正在使用Spark从文件夹中读取文本文件并将其加载到hive spark流的间隔为1分钟。在极少数情况下,源文件夹可能有1000个较大的文件 如何控制spark流以限制程序读取的文件数?目前,我的程序正在读取过去1分钟内生成的所有文件。但我想控制它读取的文件数 我正在使用TextFileStreamAPI JavaDStream<String> lines = jssc.textFileStream("C:/Users/abcd/files/"); JavaDStream

我正在使用Spark从文件夹中读取文本文件并将其加载到hive

spark流的间隔为1分钟。在极少数情况下,源文件夹可能有1000个较大的文件

如何控制spark流以限制程序读取的文件数?目前,我的程序正在读取过去1分钟内生成的所有文件。但我想控制它读取的文件数

我正在使用TextFileStreamAPI

    JavaDStream<String> lines = jssc.textFileStream("C:/Users/abcd/files/");
JavaDStream lines=jssc.textFileStream(“C:/Users/abcd/files/”;
有没有办法控制文件流传输速率?

恐怕没有。 火花蒸镀基于时间驱动。 您可以使用Flink,它提供数据驱动的


您可以使用“spark.streaming.backpressure.enabled”和“spark.streaming.backpressure.initialRate”来控制接收数据的速率

如果您的文件是CSV文件,您可以使用结构化流将文件读入带有
maxFilesPerTrigger
的流数据帧,如下所示:

import org.apache.spark.sql.types_
val streamDf=spark.readStream.option(“maxFilesPerTrigger”,“10”).schema(StructType(Seq(StructField(“some_field”,StringType))).csv(“/directory/of/files”)

Kakfa流媒体不是背压吗?你能给我一个这样做的例子吗?这些是spark配置,从“spark.streaming.backpressure”的名称可以明显看出!!!它与卡夫卡完美结合。我尚未测试的其他源.spark.streaming.kafka.maxRatePerPartition是特定于kafka的配置。