sparklyr (version 1.0.4)

stream_write_kafka: Write Kafka Stream

Description

Writes a Spark dataframe stream into an kafka stream.

Usage

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

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.

...

Optional arguments; currently unused.

Details

Please note that Kafka requires installing the appropriate package by conneting with a config setting where sparklyr.shell.packages is set to, for Spark 2.3.2, "org.apache.spark:spark-sql-kafka-0-10_2.11:2.3.2".

See Also

Other Spark stream serialization: stream_read_csv, stream_read_json, stream_read_kafka, stream_read_orc, stream_read_parquet, stream_read_scoket, stream_read_text, stream_write_console, stream_write_csv, stream_write_json, stream_write_memory, stream_write_orc, stream_write_parquet, stream_write_text

Examples

Run this code
# NOT RUN {
config <- spark_config()

# The following package is dependent to Spark version, for Spark 2.3.2:
config$sparklyr.shell.packages <- "org.apache.spark:spark-sql-kafka-0-10_2.11:2.3.2"

sc <- spark_connect(master = "local", config = config)

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)

# }
# NOT RUN {
# }

Run the code above in your browser using DataCamp Workspace