stream create

Creates a new stream.

After you create a stream, you can edit the values of its parameters with the command maprcli stream edit.

To see the value of a stream's parameters, use the command maprcli stream info.

To run this command, your user ID must have write permission on the directory in which you want to create a stream.

Syntax

CLI
stream create
	 -path Stream Path 
	[ -ttl Time to live in seconds. default:604800 ]
	[ -autocreate Auto create topics. default:true ]
	[ -defaultpartitions Default partitions per topic. default:1 ]
	[ -compression off|lz4|lzf|zlib. default:inherit from parent directory ]
	[ -produceperm Producer access control expression. default u:creator ]
	[ -consumeperm Consumer access control expression. default u:creator ]
	[ -topicperm Topic CRUD access control expression. default u:creator ]
	[ -copyperm Stream copy access control expression. default u:creator ]
	[ -adminperm Stream administration access control expression. default u:creator ]
	[ -copymetafrom Stream to copy attributes from. default:none ]
REST http[s]://<host>:<port>/rest/stream/create?path=<path>

Parameters

Parameter Description
path The path and name of the stream to create.

The path to the stream can include any character allowed by MapR. For example, /my/path/with:/to/mystream:topic1 is valid, but /my/path/with:/to/mystream:withcolon:topic1 is invalid.

The name of the stream cannot include a colon ( : ) or a forward slash ( / ).

ttl Specifies the number of seconds to elapse between the publication of a message in a topic in this stream and the expiration of that message.

Consumers do not see messages that have expired.

Messages that have expired are deleted during the next purge process. See Time-to-Live for Messages for details.

A value of 0 causes messages to be retained indefinitely.

autocreate Specifies whether to create a topic automatically when a producer tries to write the first message to it. Values are true and false. The default is true.
defaultpartitions Specifies the default number of partitions to allocate to new topics in the stream.
compression

Specifies the compression setting to use for the stream. Producer client libraries can bundle messages that are to be published on the same partition and compress them. The messages are sent to the server compressed, are stored compressed, are replicated to other containers compressed, and (if stream replication is configured) replicated to replica streams compressed. Consumer client libraries receive compressed data, decompresses it, and passes it to client applications.

Valid options are off, lzf, lz4, and zlib. The default setting is the type of compression that is set for the directory in which the stream is located.

For more information, see Compression.

produceperm Specifies the access-control expression that controls who can publish messages to topics in the stream. See Syntax of Access Control Expressions.
consumeperm Specifies the access-control expression that controls who can who can listen to topics in the stream. See Syntax of Access Control Expressions.
topicperm Specifies the access-control expression that controls who can create, edit, or remove topics in the stream. See Syntax of Access Control Expressions.
copyperm Specifies the access-control expression that controls who can use mapr copystream or mapr diffstreams on the stream. See Syntax of Access Control Expressions.
adminperm Specifies the access-control expression that controls who can can modify the other access-control expressions for the stream, set up replication from the stream, and modify attributes of the stream. See Syntax of Access Control Expressions.

This permission includes the topicperm permission.

copymetafrom If you plan to replicate messages to this stream from another stream, specify the path to that other stream. The metadata from that stream will be copied to the new stream when the new stream is created.