Kafkaのトピック

Apache Kafka 入門

Mike Metzger

Data Engineering Consultant

トピックとは

  • トピックはイベントの論理的なグループ
    • リレーショナルDBのテーブルに類似
    • イベントログ
    • メッセージは不変
    • トピック内のメッセージは読み書き可、変更不可
    • 経過時間で削除可能

Kafkaトピックの図

Apache Kafka 入門

トピックの作成

  • トピックの作成方法は複数あり
  • ここでは bin/kafka-topics.sh を使用
    bin/kafka-topics.sh 
        --bootstrap-server <server> 
        --topic <topicname>
        --create
    
  • $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create
    
Created topic orders
Apache Kafka 入門

その他のバリエーション

  • bin/kafka-topics.sh --create のオプション

    • --replication-factor <x>
      • トピックのレプリケーション係数を指定
    • --partitions <x>
      • パーティション数を手動指定
  • $ bin\kafka-topics.sh --bootstrap-server localhost:9092 \
    --topic orders --create --replication-factor 3 \
    --partitions 3
    
Created topic orders
Apache Kafka 入門

--describe

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --describe

    • トピック設定の詳細を取得
  • $ bin/kafka-topics.sh --bootstrap-server localhost:9092 \
       --topic orders --describe
    
Topic: orders-new TopicId: <topicid> PartitionCount: 3 ReplicationFactor: 1    
  Configs:
    Topic: orders-new    Partition: 0    Leader: 0    Replicas: 0    Isr: 0
    Topic: orders-new    Partition: 1    Leader: 0    Replicas: 0    Isr: 0
    Topic: orders-new    Partition: 2    Leader: 0    Replicas: 0    Isr: 0
Apache Kafka 入門

トピックの削除

  • bin/kafka-topics.sh --bootstrap-server <server> --topic <topicname> --delete
    • Kafkaサーバーからトピックを削除
    • 削除すると、そのトピック内の全メッセージも削除
  • $ bin/kafka-topics.sh --bootstrap-server localhost:9092
      --topic orders --delete
    
$
Apache Kafka 入門

演習に進みましょう

Apache Kafka 入門

Preparing Video For Download...