Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/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结构化流媒体指定kafka消费者的组id?_Apache Spark_Apache Spark Sql_Spark Streaming_Spark Streaming Kafka - Fatal编程技术网

Apache spark 如何为spark结构化流媒体指定kafka消费者的组id?

Apache spark 如何为spark结构化流媒体指定kafka消费者的组id?,apache-spark,apache-spark-sql,spark-streaming,spark-streaming-kafka,Apache Spark,Apache Spark Sql,Spark Streaming,Spark Streaming Kafka,我想在同一个emr集群中运行2个spark结构化流媒体作业,以使用相同的卡夫卡主题。两个作业都处于运行状态。但是,只有一个作业可以获取卡夫卡数据。我对卡夫卡部件的配置如下 .format("kafka") .option("kafka.bootstrap.servers", "xxx") .option("subscribe", "sametopic"

我想在同一个emr集群中运行2个spark结构化流媒体作业,以使用相同的卡夫卡主题。两个作业都处于运行状态。但是,只有一个作业可以获取卡夫卡数据。我对卡夫卡部件的配置如下

        .format("kafka")
        .option("kafka.bootstrap.servers", "xxx")
        .option("subscribe", "sametopic")
        .option("kafka.security.protocol", "SASL_SSL")
          .option("kafka.ssl.truststore.location", "./cacerts")
          .option("kafka.ssl.truststore.password", "changeit")
          .option("kafka.ssl.truststore.type", "JKS")
          .option("kafka.sasl.kerberos.service.name", "kafka")
          .option("kafka.sasl.mechanism", "GSSAPI")
        .load()

我没有设置group.id。我猜两个作业中使用相同的组id会导致此问题。但是,当我设置group.id时,它会抱怨“用户指定的使用者组不用于跟踪偏移。”。解决这个问题的正确方法是什么?谢谢

您需要运行Spark v3

卡夫卡集团

从卡夫卡读取时在卡夫卡消费者中使用的卡夫卡组id。 小心使用。默认情况下,每个查询生成一个唯一的组 用于读取数据的id。这确保每个卡夫卡来源都有自己的 不受任何其他因素干扰的消费群体 消费者,因此可以读取其 订阅的主题。在某些情况下(例如,卡夫卡集团) 授权),您可能希望使用特定的授权组id 读取数据。您可以选择设置组id。但是,请使用 极度小心,因为它可能导致意外行为。同时 运行查询(批处理和流式处理)或具有相同 组id可能相互干扰,导致每个查询 只读部分数据。在执行查询时也可能发生这种情况 快速连续启动/重新启动。要最小化此类问题,请设置 Kafka使用者会话超时(通过设置选项 “kafka.session.timeout.ms”)非常小。设置此选项后,将显示选项 “groupIdPrefix”将被忽略


这回答了你的问题吗?什么是Spark版本?到目前为止有什么进展吗?我在spark 3.0中尝试了kafka.group.id,但它没有达到我的预期效果。所以我提出了一个新问题。谢谢,我会试试spark v3。spark v3现在已经集成到EMR中了吗?