////
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 Properties Output transform outputs a set of rows of data to a Java properties files.

= image:transforms/icons/propertyoutput.svg[Write data to properties file transform Icon, role="image-doc-icon"] Write data to properties file

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

The Properties Output transform outputs a set of rows of data to a Java properties files.

The data needs to be structured in a key/value format to be usable for a properties file.

TIP: More information on this file format is available on https://en.wikipedia.org/wiki/.properties[Wikipedia^]

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

== Options

=== General Tab

[options="header"]
|===
|Option|Description
|Transform name|Name of the transform. This name has to be unique in a single pipeline.
|Key field|The input field name that will contain the key part of the key:value pairs to be written to the properties file.
|Value field|The input field name that will contain the value part of the key:value pairs to be written to the properties file.
|Comment a|Short comment that is copied into the top of the properties file.

NOTE: Only the first line is commented out. Any additional lines must be commented out manually.
|===

=== Content

[options="header"]
|===
|Option|Description
|Filename|The name of the properties file to create, without the file extension.
|Append|Check this option to update an existing property file.
Properties in the file that are not processed by the transform will remain unchanged.
|Create parent folder|Check this option if you want to automatically create the parent folder.
|Accept file name from field?|Check this option if the file name is specified in an input stream field.
|File name field|Specifies the field that contains the name of the file to write to.
|Extension|Specify the file extension.
Usually this is "properties".
|Include transform number in filename|Includes the transform number (when running in multiple copies) in the output filename.
|Include date in filename|Includes the date in the output filename with format yyyyMMdd (20081231).
|Include time in filename|Includes the time in the output filename with format HHmmss (235959).
|Show filename(s)...|Displays the paths and names of all files to be written to.
|Add File to result|Adds the generated filenames to the result of this pipeline.
A unique list is kept in memory, which can be used in the next workflow action in a workflow, such as in another pipeline.
|===