Struct spark_connect_rs::dataframe::DataStreamReader
source · pub struct DataStreamReader { /* private fields */ }
Expand description
DataStreamReader represents the entrypoint to create a streaming DataFrame
Implementations§
source§impl DataStreamReader
impl DataStreamReader
pub fn new(spark_session: SparkSession) -> DataStreamReader
sourcepub fn format(self, format: &str) -> DataStreamReader
pub fn format(self, format: &str) -> DataStreamReader
Specifies the input data source format
Examples found in repository?
examples/readstream.rs (line 18)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let spark: SparkSession =
SparkSessionBuilder::remote("sc://127.0.0.1:15002/;user_id=stream_example")
.build()
.await?;
let df = spark
.readStream()
.format("rate")
.option("rowsPerSecond", "5")
.load(None)?;
let query = df
.writeStream()
.format("console")
.queryName("example_stream")
.outputMode(OutputMode::Append)
.trigger(Trigger::ProcessingTimeInterval("1 seconds".to_string()))
.start(None)
.await?;
// loop to get multiple progression stats
for _ in 1..5 {
thread::sleep(time::Duration::from_secs(5));
let val = &query.clone().lastProgress().await?;
println!("{}", val);
}
// stop the active stream
query.stop().await?;
Ok(())
}
sourcepub fn schema(self, schema: &str) -> DataStreamReader
pub fn schema(self, schema: &str) -> DataStreamReader
Schema of the stream in DDL format (e.g. "name string, age int"
)
sourcepub fn option(self, key: &str, value: &str) -> DataStreamReader
pub fn option(self, key: &str, value: &str) -> DataStreamReader
Add an input option for the underlying data source
Examples found in repository?
examples/readstream.rs (line 19)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let spark: SparkSession =
SparkSessionBuilder::remote("sc://127.0.0.1:15002/;user_id=stream_example")
.build()
.await?;
let df = spark
.readStream()
.format("rate")
.option("rowsPerSecond", "5")
.load(None)?;
let query = df
.writeStream()
.format("console")
.queryName("example_stream")
.outputMode(OutputMode::Append)
.trigger(Trigger::ProcessingTimeInterval("1 seconds".to_string()))
.start(None)
.await?;
// loop to get multiple progression stats
for _ in 1..5 {
thread::sleep(time::Duration::from_secs(5));
let val = &query.clone().lastProgress().await?;
println!("{}", val);
}
// stop the active stream
query.stop().await?;
Ok(())
}
sourcepub fn options<I, K, V>(self, options: I) -> DataStreamReader
pub fn options<I, K, V>(self, options: I) -> DataStreamReader
Set many input options based on an iterator of (key/value pairs) for the underlying data source
sourcepub fn load(self, path: Option<&str>) -> Result<DataFrame, SparkError>
pub fn load(self, path: Option<&str>) -> Result<DataFrame, SparkError>
Examples found in repository?
examples/readstream.rs (line 20)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let spark: SparkSession =
SparkSessionBuilder::remote("sc://127.0.0.1:15002/;user_id=stream_example")
.build()
.await?;
let df = spark
.readStream()
.format("rate")
.option("rowsPerSecond", "5")
.load(None)?;
let query = df
.writeStream()
.format("console")
.queryName("example_stream")
.outputMode(OutputMode::Append)
.trigger(Trigger::ProcessingTimeInterval("1 seconds".to_string()))
.start(None)
.await?;
// loop to get multiple progression stats
for _ in 1..5 {
thread::sleep(time::Duration::from_secs(5));
let val = &query.clone().lastProgress().await?;
println!("{}", val);
}
// stop the active stream
query.stop().await?;
Ok(())
}
Trait Implementations§
source§impl Clone for DataStreamReader
impl Clone for DataStreamReader
source§fn clone(&self) -> DataStreamReader
fn clone(&self) -> DataStreamReader
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for DataStreamReader
impl !RefUnwindSafe for DataStreamReader
impl Send for DataStreamReader
impl Sync for DataStreamReader
impl Unpin for DataStreamReader
impl !UnwindSafe for DataStreamReader
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request