We are hiring! Apply here
Topic

The fluvio topic subcommands are used to create and delete topics, as well as to view basic information about existing topics.

 

fluvio topic create

This command is used to create new Fluvio topics.

Create a Topic with the given name

fluvio topic create [OPTIONS] <name>

Arguments:
  <name>  The name of the Topic to create

Options:
  -p, --partitions <partitions>         The number of Partitions to give the Topic [default: 1]
  -r, --replication <integer>           The number of full replicas of the Topic to keep [default: 1]
  -i, --ignore-rack-assignment          Ignore racks while computing replica assignment
  -f, --replica-assignment <file.json>  Replica assignment file
  -d, --dry-run                         Validates configuration, does not provision
      --retention-time <time>           Retention time (round to seconds) Ex: '1h', '2d 10s', '7 days' (default)
      --segment-size <bytes>            Segment size (by default measured in bytes) Ex: `2048`, '2 Ki', '10 MiB', `1 GB`
      --compression-type <compression>  Compression configuration for topic
      --max-partition-size <bytes>      Max partition size (by default measured in bytes) Ex: `2048`, '2 Ki', '10 MiB', `1 GB`
  -h, --help                            Print help information (use `--help` for more detail)

Example usage:

$ fluvio topic create greeting
topic "greeting" created
 

Retention

Retention is a policy for how data is cleaned up from a topic.

  • For a time-based policy, use --retention-time
  • For a segment-size based policy, use --segment-size

Check the docs for more info about data retention

Example usage:

In this example, the last segment of 500k will be deleted after 30 days.

$ fluvio topic create my-topic --retention-time '30 days' --segment-size 500000  
topic "my-topic" created
 

Compression

This configuration will set compression at a topic level. When set producers are forced to use a compression algorithm that matches with the topic configuration. The SPU will reject any Produce request that does not match with the topic configuration.

If --compression-type any is used, SPU will accept any compression algorithm.

possible values:

  • any(default)
  • none
  • gzip
  • lz4
  • snappy

Example usage:

$ fluvio topic create my-topic --compression-type gzip
topic "my-topic" created

In this example, the topic my-topic will be created with compression type gzip.

 

fluvio topic list

This command shows you all the existing topics in your cluster, as well as some basic information about them, including how many partitions a topic has and how many times it is replicated.

List all of the Topics in the cluster

fluvio topic list [OPTIONS]

Options:
  -O, --output <type>  Output [default: table] [possible values: table, yaml, json]
  -h, --help           Print help information

Example usage:

$ fluvio topic list
 NAME      TYPE      PARTITIONS  REPLICAS  IGNORE-RACK  STATUS                   REASON
 greeting  computed      1          1                   resolution::provisioned

 

fluvio topic describe

This command prints more detailed information about a specific topic.

Print detailed information about a Topic

fluvio topic describe [OPTIONS] <name>

Arguments:
  <name>  The name of the Topic to describe

Options:
  -O, --output <type>  Output [default: table] [possible values: table, yaml, json]
  -h, --help           Print help information

Example usage:

$ fluvio topic describe greeting
 Name                    :  greeting
 Type                    :  computed
 Partition Count         :  1
 Replication Factor      :  1
 Ignore Rack Assignment  :  false
 Status                  :  provisioned
 Reason                  :
 -----------------

 

fluvio topic delete

This command deletes an existing Fluvio topic and all data associated with it. This data may not be recovered, so use this with care.

Delete one or more Topics with the given name(s)

fluvio topic delete [OPTIONS] <name>...

Arguments:
  <name>...  One or more name(s) of the topic(s) to be deleted

Options:
  -c, --continue-on-error  Continue deleting in case of an error
  -h, --help               Print help information

Example usage:

$ fluvio topic delete greeting
topic "greeting" deleted