blob: 95e5962e326b6d075eafca222be3944c119476bd [file] [view]
## PySpark <-> Spark message interface
This module implements message-based communication between PySpark and the Spark.
It introduces abstraction layers, which handle the receiving and sending of messages.
Through these abstractions, the underlying data transport channel (Unix domain socket, gRPC, etc.)
can be *decoupled from the core PySpark logic*, which processes the data.
Overall, introducing these abstractions allows the same PySpark code to work with
different underlying data transport channels transparently.
This module defines the following message types:
### Spark -> PySpark
1. Initialization - UDF Payload, parameters, ...
2. Data - Data to invoke the UDF on
3. Finish - UDF has been invoked on all available data
### PySpark -> Spark
1. Response data
2. Exceptions
3. Finish - All processing is done