////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////
:documentationPath: /pipeline/transforms/
:language: en_US
:description: The Unique Rows transform removes duplicate rows from the (sorted) input stream(s).

= image:transforms/icons/uniquerows.svg[Unique Rows transform Icon, role="image-doc-icon"] Unique Rows

[%noheader,cols="3a,1a", role="table-no-borders" ]
|===
|
== Description

The Unique Rows transform removes duplicate rows from the (sorted) input stream(s).

For unsorted input streams, check the xref:pipeline/transforms/uniquerowsbyhashset.adoc[Unique Rows By Hashset] transform.

|
== Supported Engines
[%noheader,cols="2,1a",frame=none, role="table-supported-engines"]
!===
!Hop Engine! image:check_mark.svg[Supported, 24]
!Spark! image:cross.svg[Not Supported, 24]
!Flink! image:cross.svg[Not Supported, 24]
!Dataflow! image:cross.svg[Not Supported, 24]
!===
|===

== Options

[options="header"]
|===
|Option|Description
|Transform Name|Name of the transform this name has to be unique in a single pipeline.
|Add counter to output?|Check this option to add a counter field to the stream.
|Counter field|Define the counter field name.
|Redirect duplicate row|Processes duplicate rows as an error and redirect rows to the error stream of the transform.
Requires you to set error handling for this transform.
|Error Description|Sets the error handling description to display when duplicate rows are detected.
Only available when Redirect duplicate row is checked.
|Fields to compare table|Specify the field names on which you want to force uniqueness or click Get to insert all fields from the input stream(s) You can choose to ignore case by setting the Ignore case flag to Y.
|===