Files
greptimedb/pipeline/trait.Processor.html
2025-12-19 13:59:48 +00:00

18 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Processor trait defines the interface for all processors."><title>Processor in pipeline - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="pipeline" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Processor</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../pipeline/index.html">pipeline</a><span class="version">1.0.0-beta.3</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Processor</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.exec_mut" title="exec_mut">exec_mut</a></li><li><a href="#tymethod.ignore_missing" title="ignore_missing">ignore_missing</a></li><li><a href="#tymethod.kind" title="kind">kind</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate pipeline</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">pipeline</a></div><h1>Trait <span class="trait">Processor</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/pipeline/etl/processor.rs.html#120-129">Source</a> </span></div><pre class="rust item-decl"><code>pub trait Processor:
<a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>
+ <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>
+ <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>
+ 'static {
// Required methods
fn <a href="#tymethod.kind" class="fn">kind</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.ignore_missing" class="fn">ignore_missing</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.exec_mut" class="fn">exec_mut</a>(&amp;self, val: VrlValue) -&gt; <a class="type" href="error/type.Result.html" title="type pipeline::error::Result">Result</a>&lt;VrlValue&gt;;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Processor trait defines the interface for all processors.</p>
<p>A processor is a transformation that can be applied to a field in a document
It can be used to extract, transform, or enrich data
Now Processor only have one input field. In the future, we may support multiple input fields.
The output of a processor is a map of key-value pairs that will be merged into the document when you use exec_map method.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.kind" class="method"><a class="src rightside" href="../src/pipeline/etl/processor.rs.html#122">Source</a><h4 class="code-header">fn <a href="#tymethod.kind" class="fn">kind</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>Get the processors kind</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.ignore_missing" class="method"><a class="src rightside" href="../src/pipeline/etl/processor.rs.html#125">Source</a><h4 class="code-header">fn <a href="#tymethod.ignore_missing" class="fn">ignore_missing</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether to ignore missing</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.exec_mut" class="method"><a class="src rightside" href="../src/pipeline/etl/processor.rs.html#128">Source</a><h4 class="code-header">fn <a href="#tymethod.exec_mut" class="fn">exec_mut</a>(&amp;self, val: VrlValue) -&gt; <a class="type" href="error/type.Result.html" title="type pipeline::error::Result">Result</a>&lt;VrlValue&gt;</h4></section></summary><div class="docblock"><p>Execute the processor on a vector which be preprocessed by the pipeline</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Processor-for-ProcessorKind" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor.rs.html#132">Source</a><a href="#impl-Processor-for-ProcessorKind" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="enum" href="etl/processor/enum.ProcessorKind.html" title="enum pipeline::etl::processor::ProcessorKind">ProcessorKind</a></h3></section><section id="impl-Processor-for-CmcdProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/cmcd.rs.html#247-288">Source</a><a href="#impl-Processor-for-CmcdProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/cmcd/struct.CmcdProcessor.html" title="struct pipeline::etl::processor::cmcd::CmcdProcessor">CmcdProcessor</a></h3></section><section id="impl-Processor-for-CsvProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/csv.rs.html#187-227">Source</a><a href="#impl-Processor-for-CsvProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/csv/struct.CsvProcessor.html" title="struct pipeline::etl::processor::csv::CsvProcessor">CsvProcessor</a></h3></section><section id="impl-Processor-for-DateProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/date.rs.html#187-228">Source</a><a href="#impl-Processor-for-DateProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/date/struct.DateProcessor.html" title="struct pipeline::etl::processor::date::DateProcessor">DateProcessor</a></h3></section><section id="impl-Processor-for-DecolorizeProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/decolorize.rs.html#99-131">Source</a><a href="#impl-Processor-for-DecolorizeProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/decolorize/struct.DecolorizeProcessor.html" title="struct pipeline::etl::processor::decolorize::DecolorizeProcessor">DecolorizeProcessor</a></h3></section><section id="impl-Processor-for-DigestProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/digest.rs.html#195-227">Source</a><a href="#impl-Processor-for-DigestProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/digest/struct.DigestProcessor.html" title="struct pipeline::etl::processor::digest::DigestProcessor">DigestProcessor</a></h3></section><section id="impl-Processor-for-DissectProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/dissect.rs.html#603-643">Source</a><a href="#impl-Processor-for-DissectProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/dissect/struct.DissectProcessor.html" title="struct pipeline::etl::processor::dissect::DissectProcessor">DissectProcessor</a></h3></section><section id="impl-Processor-for-EpochProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/epoch.rs.html#175-210">Source</a><a href="#impl-Processor-for-EpochProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/epoch/struct.EpochProcessor.html" title="struct pipeline::etl::processor::epoch::EpochProcessor">EpochProcessor</a></h3></section><section id="impl-Processor-for-FilterProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/filter.rs.html#148-180">Source</a><a href="#impl-Processor-for-FilterProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/filter/struct.FilterProcessor.html" title="struct pipeline::etl::processor::filter::FilterProcessor">FilterProcessor</a></h3></section><section id="impl-Processor-for-GsubProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/gsub.rs.html#113-145">Source</a><a href="#impl-Processor-for-GsubProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/gsub/struct.GsubProcessor.html" title="struct pipeline::etl::processor::gsub::GsubProcessor">GsubProcessor</a></h3></section><section id="impl-Processor-for-JoinProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/join.rs.html#89-129">Source</a><a href="#impl-Processor-for-JoinProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/join/struct.JoinProcessor.html" title="struct pipeline::etl::processor::join::JoinProcessor">JoinProcessor</a></h3></section><section id="impl-Processor-for-JsonParseProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/json_parse.rs.html#92-124">Source</a><a href="#impl-Processor-for-JsonParseProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/json_parse/struct.JsonParseProcessor.html" title="struct pipeline::etl::processor::json_parse::JsonParseProcessor">JsonParseProcessor</a></h3></section><section id="impl-Processor-for-JsonPathProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/json_path.rs.html#124-156">Source</a><a href="#impl-Processor-for-JsonPathProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/json_path/struct.JsonPathProcessor.html" title="struct pipeline::etl::processor::json_path::JsonPathProcessor">JsonPathProcessor</a></h3></section><section id="impl-Processor-for-LetterProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/letter.rs.html#119-159">Source</a><a href="#impl-Processor-for-LetterProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/letter/struct.LetterProcessor.html" title="struct pipeline::etl::processor::letter::LetterProcessor">LetterProcessor</a></h3></section><section id="impl-Processor-for-RegexProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/regex.rs.html#191-231">Source</a><a href="#impl-Processor-for-RegexProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/regex/struct.RegexProcessor.html" title="struct pipeline::etl::processor::regex::RegexProcessor">RegexProcessor</a></h3></section><section id="impl-Processor-for-SelectProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/select.rs.html#93-131">Source</a><a href="#impl-Processor-for-SelectProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/select/struct.SelectProcessor.html" title="struct pipeline::etl::processor::select::SelectProcessor">SelectProcessor</a></h3></section><section id="impl-Processor-for-SimpleExtractProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/simple_extract.rs.html#95-127">Source</a><a href="#impl-Processor-for-SimpleExtractProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/simple_extract/struct.SimpleExtractProcessor.html" title="struct pipeline::etl::processor::simple_extract::SimpleExtractProcessor">SimpleExtractProcessor</a></h3></section><section id="impl-Processor-for-UrlEncodingProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/urlencoding.rs.html#120-159">Source</a><a href="#impl-Processor-for-UrlEncodingProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/urlencoding/struct.UrlEncodingProcessor.html" title="struct pipeline::etl::processor::urlencoding::UrlEncodingProcessor">UrlEncodingProcessor</a></h3></section><section id="impl-Processor-for-VrlProcessor" class="impl"><a class="src rightside" href="../src/pipeline/etl/processor/vrl_processor.rs.html#110-122">Source</a><a href="#impl-Processor-for-VrlProcessor" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Processor.html" title="trait pipeline::Processor">Processor</a> for <a class="struct" href="etl/processor/vrl_processor/struct.VrlProcessor.html" title="struct pipeline::etl::processor::vrl_processor::VrlProcessor">VrlProcessor</a></h3></section></div><script src="../trait.impl/pipeline/etl/processor/trait.Processor.js" async></script></section></div></main></body></html>