Writes a Spark dataframe stream into an kafka stream.

stream_write_kafka(
  x,
  mode = c("append", "complete", "update"),
  trigger = stream_trigger_interval(),
  checkpoint = file.path("checkpoints", random_string("")),
  options = list(),
  partition_by = NULL,
  ...
)

Arguments

x

A Spark DataFrame or dplyr operation

mode

Specifies how data is written to a streaming sink. Valid values are "append", "complete" or "update".

trigger

The trigger for the stream query, defaults to micro-batches runnnig every 5 seconds. See stream_trigger_interval and stream_trigger_continuous.

checkpoint

The location where the system will write all the checkpoint information to guarantee end-to-end fault-tolerance.

options

A list of strings with additional options.

partition_by

Partitions the output by the given list of columns.

...

Optional arguments; currently unused.

Details

Please note that Kafka requires installing the appropriate package by setting the packages parameter to "kafka" in spark_connect()

See also

Examples

if (FALSE) { library(sparklyr) sc <- spark_connect(master = "local", version = "2.3", packages = "kafka") read_options <- list(kafka.bootstrap.servers = "localhost:9092", subscribe = "topic1") write_options <- list(kafka.bootstrap.servers = "localhost:9092", topic = "topic2") stream <- stream_read_kafka(sc, options = read_options) %>% stream_write_kafka(options = write_options) stream_stop(stream) }