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/2/apache-kafka/3.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 - Fatal编程技术网

Apache spark 编写卡夫卡压缩主题的Spark代码

Apache spark 编写卡夫卡压缩主题的Spark代码,apache-spark,apache-kafka,Apache Spark,Apache Kafka,有人知道是否可以调用writeStream到卡夫卡主题,其中创建的主题是压缩主题?下面的代码创建了一个卡夫卡主题,但传递的选项被忽略 StreamingQuery query = ds .writeStream() .format("kafka") .option("kafka.bootstrap.servers", "localhost:9092")) .option("topic", "m

有人知道是否可以调用
writeStream
到卡夫卡主题,其中创建的主题是压缩主题?下面的代码创建了一个卡夫卡主题,但传递的选项被忽略

    StreamingQuery query = ds
            .writeStream()
            .format("kafka")
            .option("kafka.bootstrap.servers", "localhost:9092"))
            .option("topic", "myTopic")
            .option("cleanup.policy", "compact")
            .option("min.insync.replicas", 1)
            .option("segment.bytes", 4096)
            .option("delete.retention.ms", 100)
            .option("min.compaction.lag.ms", 0)
            .option("min.cleanable.dirty.ratio", 0.01)
            .start();

如文档中所述,将
kafka
前缀与生产者或消费者属性一起使用

卡夫卡自己的配置可以通过DataStreamReader.option进行设置 卡夫卡。前缀

例如:

stream.option("kafka.bootstrap.servers","host:port")
此外,在
.options
中只能传递生产者或消费者级别的属性。如果需要设置任何主题级别的配置,则需要使用代理配置,该配置不能通过spark streaming代码进行设置,该代码是从默认配置获取的


Spark Structure Streaming,在引擎盖下使用kafka格式调用
writeStream
时使用KafkaProducer

如果在代理端
auto.create.topics.enable
true
作为一个值(默认值), 当KafkaProducer获取元数据时,代理将创建新的主题

KafkaProducer不传递任何主题的属性。 代理使用默认值一次(例如,
default.replication.factor
num.partitions
log.cleanup.policy
)创建主题


您无法通过KafkaProducer传递主题创建属性。

您的答案是错误的。在我添加了我的之后,您只需复制它(甚至提供一个源代码)。代理配置不能传递到流上下文,只能传递给生产者和消费者ones@cricket_007:这就是我还提到的“仅生产者或消费者级别的属性”而不是代理属性可能不清楚您何时编写“您需要使用代理配置”, then@cricket_007:不用担心,用更清晰的文字更新它。建议提前创建您的主题。。。即使这是可能的,您也省略了分区号和复制因子