pub struct MapSpec { /* private fields */ }Expand description
A map operation.
use ytsaurus_client::MapSpec;
let spec = MapSpec::new("./cat", ["//tmp/in"], ["//tmp/out"])
.with_local_file("//tmp/cat")
.with_memory_limit(512 * 1024 * 1024);Implementations§
Source§impl MapSpec
impl MapSpec
Sourcepub fn new<I, O>(command: impl Into<String>, inputs: I, outputs: O) -> Self
pub fn new<I, O>(command: impl Into<String>, inputs: I, outputs: O) -> Self
A map running command over inputs, writing outputs.
Sourcepub fn with_local_file(self, path: impl Into<String>) -> Self
pub fn with_local_file(self, path: impl Into<String>) -> Self
Adds a Cypress file the job needs — normally the worker binary.
Sourcepub fn with_local_file_named(
self,
path: impl Into<String>,
name: impl AsRef<str>,
) -> Self
pub fn with_local_file_named( self, path: impl Into<String>, name: impl AsRef<str>, ) -> Self
Adds a Cypress file under a different name in the job’s sandbox.
The name matters because the job runs a command: a file cached under
its MD5 hash arrives as 4c8f…, and ./my_job would not find it.
Sourcepub fn with_memory_limit(self, bytes: i64) -> Self
pub fn with_memory_limit(self, bytes: i64) -> Self
Sets the mapper’s memory limit, in bytes.
Sourcepub fn with_formats(self, input: DataFormat, output: DataFormat) -> Self
pub fn with_formats(self, input: DataFormat, output: DataFormat) -> Self
Selects the mapper’s input and output data formats.
YSON selections apply to every table. A Skiff selection must contain one table schema per corresponding input or output table, in the same order. The default remains binary YSON.
Sourcepub fn with_skiff_formats(self, input: SkiffFormat, output: SkiffFormat) -> Self
pub fn with_skiff_formats(self, input: SkiffFormat, output: SkiffFormat) -> Self
Uses validated Skiff formats for the mapper’s input and output streams.
This compatibility convenience delegates to Self::with_formats.
Sourcepub fn with_env(self, key: impl Into<String>, value: impl Into<String>) -> Self
pub fn with_env(self, key: impl Into<String>, value: impl Into<String>) -> Self
Sets an environment variable for the job, e.g. RUST_BACKTRACE.
Sourcepub fn with_input_table_index(self) -> Self
pub fn with_input_table_index(self) -> Self
Asks for the input table index to be delivered with each row.
Without this, Row::table_index is always 0.
Sourcepub fn with_job_count(self, count: i64) -> Self
pub fn with_job_count(self, count: i64) -> Self
Requests a specific job count.
Sourcepub fn skiff_table_mismatch(&self) -> Option<String>
pub fn skiff_table_mismatch(&self) -> Option<String>
Describes a Skiff format that does not match this spec’s table lists.
A Skiff format needs one table schema per table, in order. Get the count
wrong and the operation is submitted anyway: the cluster may refuse it,
or the job may read a table the format does not describe and fail
mid-stream, after it has already written output.
Client::start_map checks this before
sending the spec; check it here if you render the spec yourself with
MapSpec::to_yson.