繁体   English   中英

在 Spark 中读取 Kafka 主题尾部

[英]Read Kafka topic tail in Spark

我需要订阅 Kafka 主题latest偏移量,读取一些最新记录,打印它们并完成。 我怎样才能在 Spark 中做到这一点? 我想我可以做这样的事情

sqlContext
    .read
    .format("kafka")
    .option("kafka.bootstrap.servers", "192.168.1.1:9092,...")
    .option("subscribe", "myTopic")
    .option("startingOffsets", "latest")
    .filter($"someField" === "someValue")
    .take(10)
    .show

您需要提前知道要从 Kafka 消费哪些分区中的哪些偏移量。 如果您有这些信息,您可以执行以下操作:

// Subscribe to multiple topics, specifying explicit Kafka offsets
val df = spark
  .read
  .format("kafka")
  .option("kafka.bootstrap.servers", "192.168.1.1:9092,...")
  .option("subscribe", "myTopic")
  .option("startingOffsets", """{"myTopic":{"0":20,"1":20}}""")
  .option("endingOffsets", """{"myTopic":{"0":25,"1":25}}""")
  .load()
df.selectExpr("CAST(key AS STRING)", "CAST(value AS STRING)")
  .as[(String, String)]
  .filter(...)

Kafka + Spark 集成指南中提供了有关startingOffsets endingOffsetsendingOffsets更多详细信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM