簡體   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