Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 如何设置spark结构化流媒体的最小输出文件大小?_Apache Spark_Apache Kafka_Spark Structured Streaming - Fatal编程技术网

Apache spark 如何设置spark结构化流媒体的最小输出文件大小?

Apache spark 如何设置spark结构化流媒体的最小输出文件大小?,apache-spark,apache-kafka,spark-structured-streaming,Apache Spark,Apache Kafka,Spark Structured Streaming,我正在尝试使用Spark结构化流媒体从卡夫卡获取数据。 我希望输出文件大小约为20 MB。 由于我在从卡夫卡读取时使用latest作为startingoffset选项,因此大多数文件的大小约为230 KB。 如何使所有输出文件大于20MB? 我甚至使用了maxpffsetpertrigger选项作为100000000,但它不起作用。maxOffsetsPerTrigger属性指定了每个触发器间隔处理的偏移量,而与写入数据时的大小无关,如文档所示 每个触发间隔处理的最大偏移量的速率限制。指定的偏移

我正在尝试使用Spark结构化流媒体从卡夫卡获取数据。
我希望输出文件大小约为20 MB。
由于我在从卡夫卡读取时使用
latest
作为
startingoffset
选项,因此大多数文件的大小约为230 KB。
如何使所有输出文件大于20MB?

我甚至使用了
maxpffsetpertrigger
选项作为
100000000
,但它不起作用。

maxOffsetsPerTrigger属性指定了每个触发器间隔处理的偏移量,而与写入数据时的大小无关,如文档所示

每个触发间隔处理的最大偏移量的速率限制。指定的偏移总数将在不同卷的topicPartitions之间按比例分割

使用coalesce(numPartitions)重新分区您的数据,并根据您的要求减少分区数(如果已经这样做但不起作用,请提供一些代码)。根据spark文件:

将RDD中的分区数减少到numPartitions。用于在过滤大数据集后更高效地运行操作


这个答案对“我希望输出文件大小为20MB左右”有什么帮助?我认为这个问题类似于“从一个主题中读取多少条记录才能达到20MB大小”?你会怎么做?我认为,如果你能在卡夫卡本身(使用卡夫卡消费API)中做到这一点,Spark中也会有一种方法。但我怀疑这是可能的。@JacekLaskowski当我使用
最新的
选项时,最初得到的数据小于1MB,但很快,数据将大于10MB。有些数据大于30MB。我猜,这是因为maxoffsetpertrigger=10000000,但数据变大需要一些时间。