////
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.
////
* xref:getting-started/index.adoc[Getting Started]
** xref:getting-started/hop-what-is-hop.adoc[What is Hop]
** xref:getting-started/hop-concepts.adoc[Hop Concepts]
** xref:getting-started/hop-download-install.adoc[Download & Install]
** xref:getting-started/hop-tools.adoc[Tools]
** xref:getting-started/hop-gui.adoc[Hop Gui Overview]
** xref:getting-started/hop-gui-pipelines.adoc[Pipelines]
** xref:getting-started/hop-gui-workflows.adoc[Workflows]
** xref:getting-started/hop-next-steps.adoc[Next Steps]
* xref:concepts.adoc[Concepts]
* xref:installation-configuration.adoc[Installation and Configuration]
* xref:supported-jvms.adoc[Supported Java Versions]
* xref:hop-gui/index.adoc[Hop Gui]
** xref:hop-gui/file-dialog.adoc[File Dialog]
** xref:hop-gui/hop-gui-popup-dialog.adoc[Popup Dialog]
** xref:hop-gui/perspectives.adoc[Perspectives]
** xref:hop-gui/hop-gui-git.adoc[Working with git]
** xref:hop-gui/shortcuts.adoc[Keyboard Shortcuts]
** xref:hop-gui/hop-web.adoc[Hop Web]
* xref:projects/index.adoc[Projects]
** xref:projects/projects-environments.adoc[Projects & Environments]
** xref:projects/metadata.adoc[Metadata]
** xref:projects/advanced.adoc[Advanced Configuration]
* xref:pipeline/pipelines.adoc[Pipelines]
** xref:pipeline/hop-pipeline-editor.adoc[Pipeline Editor]
** xref:pipeline/create-pipeline.adoc[Create a Pipeline]
** xref:pipeline/run-preview-debug-pipeline.adoc[Run, Preview and Debug a Pipeline]
** xref:pipeline/errorhandling.adoc[Error Handling]
** xref:pipeline/beam/getting-started-with-beam.adoc[Getting started with Apache Beam]
*** xref:pipeline/beam/running-the-beam-samples.adoc[Running the Beam samples]
**** xref:pipeline/beam/beam-samples-direct-runner.adoc[Direct Runner]
**** xref:pipeline/beam/beam-samples-flink.adoc[Apache Flink]
**** xref:pipeline/beam/beam-samples-spark.adoc[Apache Spark]
**** xref:pipeline/beam/beam-samples-dataflow.adoc[Google Cloud Dataflow]
*** xref:pipeline/beam/flink-k8s-operator-running-hop-pipeline.adoc[Running a Hop pipeline using the Flink Kubernetes Operator]
** xref:pipeline/pipeline-run-configurations/pipeline-run-configurations.adoc[Pipeline Run Configurations]
*** xref:pipeline/pipeline-run-configurations/beam-dataflow-pipeline-engine.adoc[Beam Google DataFlow]
*** xref:pipeline/pipeline-run-configurations/beam-direct-pipeline-engine.adoc[Beam Direct]
*** xref:pipeline/pipeline-run-configurations/beam-flink-pipeline-engine.adoc[Beam Flink]
*** xref:pipeline/pipeline-run-configurations/beam-spark-pipeline-engine.adoc[Beam Spark]
*** xref:pipeline/pipeline-run-configurations/native-local-pipeline-engine.adoc[Native Local]
*** xref:pipeline/pipeline-run-configurations/native-remote-pipeline-engine.adoc[Native Remote]
** xref:pipeline/pipeline-unit-testing.adoc[Pipeline Unit Tests]
** xref:pipeline/metadata-injection.adoc[Metadata Injection]
** xref:pipeline/specify-copies.adoc[Specify copies]
** xref:pipeline/partitioning.adoc[Partitioning]
** xref:pipeline/transforms.adoc[Transforms]
*** xref:pipeline/transforms/abort.adoc[Abort]
*** xref:pipeline/transforms/addchecksum.adoc[Add a checksum]
*** xref:pipeline/transforms/addconstant.adoc[Add Constants]
*** xref:pipeline/transforms/addsequence.adoc[Add Sequence]
*** xref:pipeline/transforms/addfieldschangesequence.adoc[Add value fields changing sequence]
*** xref:pipeline/transforms/addxml.adoc[Add XML]
*** xref:pipeline/transforms/analyticquery.adoc[Analytic Query]
*** xref:pipeline/transforms/append.adoc[Append Streams]
*** xref:pipeline/transforms/apache-tika.adoc[Apache Tika]
*** xref:pipeline/transforms/avro-decode.adoc[Avro Decode]
*** xref:pipeline/transforms/avro-encode.adoc[Avro Encode]
*** xref:pipeline/transforms/avro-file-input.adoc[Avro File Input]
*** xref:pipeline/transforms/avro-file-output.adoc[Avro File Output]
*** xref:pipeline/transforms/aws-sns-notify.adoc[AWS SNS Notify]
*** xref:pipeline/transforms/aws-sqs-reader.adoc[AWS SQS Reader]
*** xref:pipeline/transforms/azure-event-hubs-listener.adoc[Azure Event Hubs Listener]
*** xref:pipeline/transforms/azure-event-hubs-writer.adoc[Azure Event Hubs Writer]
*** xref:pipeline/transforms/beambigtableinput.adoc[Beam Bigtable Input]
*** xref:pipeline/transforms/beambigtableoutput.adoc[Beam Bigtable Output]
*** xref:pipeline/transforms/beambigqueryinput.adoc[Beam BigQuery Input]
*** xref:pipeline/transforms/beambigqueryoutput.adoc[Beam BigQuery Output]
*** xref:pipeline/transforms/beamfileinput.adoc[Beam File Input]
*** xref:pipeline/transforms/beamfileoutput.adoc[Beam File Output]
*** xref:pipeline/transforms/beamgcppublisher.adoc[Beam GCP Pub/Sub : Publish]
*** xref:pipeline/transforms/beamgcpsubscriber.adoc[Beam GCP Pub/Sub : Subscribe]
*** xref:pipeline/transforms/beamkafkaconsume.adoc[Beam Kafka Consume]
*** xref:pipeline/transforms/beamkafkaproduce.adoc[Beam Kafka Produce]
*** xref:pipeline/transforms/beamkinesisconsume.adoc[Beam Kinesis Consume]
*** xref:pipeline/transforms/beamkinesisproduce.adoc[Beam Kinesis Produce]
*** xref:pipeline/transforms/beamtimestamp.adoc[Beam Timestamp]
*** xref:pipeline/transforms/beamwindow.adoc[Beam Window]
*** xref:pipeline/transforms/blockingtransform.adoc[Blocking transform]
*** xref:pipeline/transforms/blockuntiltransformsfinish.adoc[Blocking until transforms finish]
*** xref:pipeline/transforms/calculator.adoc[Calculator]
*** xref:pipeline/transforms/cassandra-input.adoc[Cassandra Input]
*** xref:pipeline/transforms/cassandra-output.adoc[Cassandra Output]
*** xref:pipeline/transforms/sstable-output.adoc[Cassandra SSTable Output]
*** xref:pipeline/transforms/calldbproc.adoc[Call DB procedure]
*** xref:pipeline/transforms/changefileencoding.adoc[Change file encoding]
*** xref:pipeline/transforms/checkfilelocked.adoc[Check if file is locked]
*** xref:pipeline/transforms/checkwebserviceavailable.adoc[Check if webservice is available]
*** xref:pipeline/transforms/clonerow.adoc[Clone row]
*** xref:pipeline/transforms/closure.adoc[Closure]
*** xref:pipeline/transforms/coalesce.adoc[Coalesce]
*** xref:pipeline/transforms/columnexists.adoc[Column exists]
*** xref:pipeline/transforms/combinationlookup.adoc[Combination lookup/update]
*** xref:pipeline/transforms/concatfields.adoc[Concat Fields]
*** xref:pipeline/transforms/copyrowstoresult.adoc[Copy rows to result]
*** xref:pipeline/transforms/creditcardvalidator.adoc[Credit card validator]
*** xref:pipeline/transforms/csvinput.adoc[CSV File Input]
*** xref:pipeline/transforms/databasejoin.adoc[Database Join]
*** xref:pipeline/transforms/databaselookup.adoc[Database Lookup]
*** xref:pipeline/transforms/datagrid.adoc[Data Grid]
*** xref:pipeline/transforms/validator.adoc[Data Validator]
*** xref:pipeline/transforms/delay.adoc[Delay row]
*** xref:pipeline/transforms/delete.adoc[Delete]
*** xref:pipeline/transforms/serialize-de-from-file.adoc[De-Serialize From File]
*** xref:pipeline/transforms/detectemptystream.adoc[Detect Empty Stream]
*** xref:pipeline/transforms/detectlanguage.adoc[Detect Language]
*** xref:pipeline/transforms/dimensionlookup.adoc[Dimension lookup/update]
*** xref:pipeline/transforms/dorisbulkloader.adoc[Doris Bulk Loader]
*** xref:pipeline/transforms/rulesaccumulator.adoc[Drools Rule Accumulator]
*** xref:pipeline/transforms/rulesexecutor.adoc[Drools Rule Executor]
*** xref:pipeline/transforms/dummy.adoc[Dummy (do nothing)]
*** xref:pipeline/transforms/dynamicsqlrow.adoc[Dynamic SQL row]
*** xref:pipeline/transforms/edi2xml.adoc[Edi to XML]
*** xref:pipeline/transforms/emailinput.adoc[Email Messages Input]
*** xref:pipeline/transforms/enhancedjsonoutput.adoc[Enhanced JSON Output]
*** xref:pipeline/transforms/excelinput.adoc[Excel input]
*** xref:pipeline/transforms/excelwriter.adoc[Excel writer]
*** xref:pipeline/transforms/execprocess.adoc[Execute a process]
*** xref:pipeline/transforms/execsqlrow.adoc[Execute row SQL script]
*** xref:pipeline/transforms/execsql.adoc[Execute SQL script]
*** xref:pipeline/transforms/exectests.adoc[Execute Unit Tests]
*** xref:pipeline/transforms/execinfo.adoc[Execution Information]
*** xref:pipeline/transforms/fake.adoc[Fake data]
*** xref:pipeline/transforms/fileexists.adoc[File exists]
*** xref:pipeline/transforms/filemetadata.adoc[File Metadata]
*** xref:pipeline/transforms/filesfromresult.adoc[Files from result]
*** xref:pipeline/transforms/filestoresult.adoc[Files to result]
*** xref:pipeline/transforms/filterrows.adoc[Filter Rows]
*** xref:pipeline/transforms/formula.adoc[Formula]
*** xref:pipeline/transforms/fuzzymatch.adoc[Fuzzy match]
*** xref:pipeline/transforms/generaterandomvalue.adoc[Generate Random Value]
*** xref:pipeline/transforms/getdatafromxml.adoc[Get Data From XML]
*** xref:pipeline/transforms/getfilenames.adoc[Get filenames]
*** xref:pipeline/transforms/getfilesrowcount.adoc[Get files rowcount]
*** xref:pipeline/transforms/getrecordsfromstream.adoc[Get records from stream]
*** xref:pipeline/transforms/getrowsfromresult.adoc[Get Rows from Result]
*** xref:pipeline/transforms/getsubfolders.adoc[Get SubFolder names]
*** xref:pipeline/transforms/getsystemdata.adoc[Get System Info]
*** xref:pipeline/transforms/gettablenames.adoc[Get table names]
*** xref:pipeline/transforms/getvariable.adoc[Get variables]
*** xref:pipeline/transforms/google-analytics.adoc[Google Analytics Input]
*** xref:pipeline/transforms/google-sheets-input.adoc[Google Sheets Input]
*** xref:pipeline/transforms/google-sheets-output.adoc[Google Sheets Output]
*** xref:pipeline/transforms/groupby.adoc[Group By]
*** xref:pipeline/transforms/html2text.adoc[HTML 2 Text]
*** xref:pipeline/transforms/http.adoc[HTTP client]
*** xref:pipeline/transforms/httppost.adoc[HTTP Post]
*** xref:pipeline/transforms/identifylastrow.adoc[Identify last row in a stream]
*** xref:pipeline/transforms/ifnull.adoc[If Null]
*** xref:pipeline/transforms/injector.adoc[Injector]
*** xref:pipeline/transforms/insertupdate.adoc[Insert / Update]
*** xref:pipeline/transforms/javafilter.adoc[Java Filter]
*** xref:pipeline/transforms/javascript.adoc[JavaScript]
*** xref:pipeline/transforms/jdbcmetadata.adoc[JDBC Metadata]
*** xref:pipeline/transforms/joinrows.adoc[Join Rows]
*** xref:pipeline/transforms/jsoninput.adoc[JSON Input]
*** xref:pipeline/transforms/jsonoutput.adoc[JSON Output]
*** xref:pipeline/transforms/kafkaconsumer.adoc[Kafka Consumer]
*** xref:pipeline/transforms/kafkaproducer.adoc[Kafka Producer]
*** xref:pipeline/transforms/languagemodelchat.adoc[Language Model Chat]
*** xref:pipeline/transforms/ldapinput.adoc[LDAP Input]
*** xref:pipeline/transforms/ldapoutput.adoc[LDAP Output]
*** xref:pipeline/transforms/loadfileinput.adoc[Load file content in memory]
*** xref:pipeline/transforms/mail.adoc[Mail]
*** xref:pipeline/transforms/mapping-input.adoc[Mapping Input]
*** xref:pipeline/transforms/mapping-output.adoc[Mapping Output]
*** xref:pipeline/transforms/memgroupby.adoc[Memory Group By]
*** xref:pipeline/transforms/mergejoin.adoc[Merge Join]
*** xref:pipeline/transforms/mergerows.adoc[Merge rows (diff)]
*** xref:pipeline/transforms/metainject.adoc[Metadata Injection]
*** xref:pipeline/transforms/metadata-input.adoc[Metadata Input]
*** xref:pipeline/transforms/metastructure.adoc[Metadata structure of stream]
*** xref:pipeline/transforms/accessoutput.adoc[Microsoft Access Output]
*** xref:pipeline/transforms/monetdbbulkloader.adoc[MonetDB Bulk Loader]
*** xref:pipeline/transforms/mongodbdelete.adoc[MongoDB Delete]
*** xref:pipeline/transforms/mongodbinput.adoc[MongoDB Input]
*** xref:pipeline/transforms/mongodboutput.adoc[MongoDB Output]
*** xref:pipeline/transforms/multimerge.adoc[Multiway Merge Join]
*** xref:pipeline/transforms/mysqlbulkloader.adoc[MySql Bulk Loader]
*** xref:pipeline/transforms/neo4j-cypher.adoc[Neo4j Cypher]
*** xref:pipeline/transforms/neo4j-gencsv.adoc[Neo4j Generate CSVs]
*** xref:pipeline/transforms/neo4j-getloginfo.adoc[Neo4j Get Logging Info]
*** xref:pipeline/transforms/neo4j-graphoutput.adoc[Neo4j Graph Output]
*** xref:pipeline/transforms/neo4j-import.adoc[Neo4j Import]
*** xref:pipeline/transforms/neo4j-output.adoc[Neo4j Output]
*** xref:pipeline/transforms/neo4j-split-graph.adoc[Neo4j Split Graph]
*** xref:pipeline/transforms/nullif.adoc[Null If]
*** xref:pipeline/transforms/numberrange.adoc[Number range]
*** xref:pipeline/transforms/orabulkloader.adoc[Oracle Bulk Loader]
*** xref:pipeline/transforms/parquet-file-input.adoc[Parquet File Input]
*** xref:pipeline/transforms/parquet-file-output.adoc[Parquet File Output]
*** xref:pipeline/transforms/pipeline-data-probe.adoc[Pipeline Data Probe]
*** xref:pipeline/transforms/pipeline-logging.adoc[Pipeline Logging]
*** xref:pipeline/transforms/pgpdecryptstream.adoc[PGP decrypt stream]
*** xref:pipeline/transforms/pgpencryptstream.adoc[PGP encrypt stream]
*** xref:pipeline/transforms/pipeline-executor.adoc[Pipeline Executor]
*** xref:pipeline/transforms/postgresbulkloader.adoc[PostgreSQL Bulk Loader]
*** xref:pipeline/transforms/processfiles.adoc[Process files]
*** xref:pipeline/transforms/propertyinput.adoc[Properties file Input]
*** xref:pipeline/transforms/propertyoutput.adoc[Properties file Output]
*** xref:pipeline/transforms/redshift-bulkloader.adoc[Redshift Bulk Loader]
*** xref:pipeline/transforms/regexeval.adoc[Regex Evaluation]
*** xref:pipeline/transforms/replacestring.adoc[Replace in String]
*** xref:pipeline/transforms/reservoirsampling.adoc[Reservoir Sampling]
*** xref:pipeline/transforms/rest.adoc[REST Client]
*** xref:pipeline/transforms/rowdenormaliser.adoc[Row Denormaliser]
*** xref:pipeline/transforms/rowflattener.adoc[Row Flattener]
*** xref:pipeline/transforms/rowgenerator.adoc[Row Generator]
*** xref:pipeline/transforms/rownormaliser.adoc[Row Normaliser]
*** xref:pipeline/transforms/runssh.adoc[Run SSH commands]
*** xref:pipeline/transforms/salesforcedelete.adoc[Salesforce Delete]
*** xref:pipeline/transforms/salesforceinput.adoc[Salesforce Input]
*** xref:pipeline/transforms/salesforceinsert.adoc[Salesforce Insert]
*** xref:pipeline/transforms/salesforceupdate.adoc[Salesforce Update]
*** xref:pipeline/transforms/salesforceupsert.adoc[Salesforce Upsert]
*** xref:pipeline/transforms/samplerows.adoc[Sample Rows]
*** xref:pipeline/transforms/sasinput.adoc[SAS Input]
*** xref:pipeline/transforms/script.adoc[Script]
*** xref:pipeline/transforms/selectvalues.adoc[Select Values]
*** xref:pipeline/transforms/serialize-to-file.adoc[Serialize To File]
*** xref:pipeline/transforms/serverstatus.adoc[Server Status]
*** xref:pipeline/transforms/setvalueconstant.adoc[Set field value to a constant]
*** xref:pipeline/transforms/setvaluefield.adoc[Set field Value to a field]
*** xref:pipeline/transforms/setvariable.adoc[Set Variables]
*** xref:pipeline/transforms/simple-mapping.adoc[Simple Mapping]
*** xref:pipeline/transforms/snowflakebulkloader.adoc[Snowflake Bulk Loader]
*** xref:pipeline/transforms/sort.adoc[Sort Rows]
*** xref:pipeline/transforms/sortedmerge.adoc[Sorted Merge]
*** xref:pipeline/transforms/splitfields.adoc[Split Fields]
*** xref:pipeline/transforms/splitfieldtorows.adoc[Split fields to rows]
*** xref:pipeline/transforms/splunkinput.adoc[Splunk Input]
*** xref:pipeline/transforms/sqlfileoutput.adoc[SQL File Output]
*** xref:pipeline/transforms/standardizephonenumber.adoc[Standardize Phone Number]
*** xref:pipeline/transforms/stanfordnlp.adoc[Stanford NLP]
*** xref:pipeline/transforms/schemamapping.adoc[Static Schema Mapping]
*** xref:pipeline/transforms/streamlookup.adoc[Stream Lookup]
*** xref:pipeline/transforms/streamschemamerge.adoc[Stream Schema Merge]
*** xref:pipeline/transforms/stringcut.adoc[String cut]
*** xref:pipeline/transforms/stringoperations.adoc[String operations]
*** xref:pipeline/transforms/switchcase.adoc[Switch / Case]
*** xref:pipeline/transforms/synchronizeaftermerge.adoc[Synchronize after merge]
*** xref:pipeline/transforms/tablecompare.adoc[Table Compare]
*** xref:pipeline/transforms/tableexists.adoc[Table Exists]
*** xref:pipeline/transforms/tableinput.adoc[Table Input]
*** xref:pipeline/transforms/tableoutput.adoc[Table Output]
*** xref:pipeline/transforms/terafast.adoc[Teradata Bulk Loader]
*** xref:pipeline/transforms/textfileinput.adoc[Text File Input]
*** xref:pipeline/transforms/textfileoutput.adoc[Text File Output]
*** xref:pipeline/transforms/tokenreplacement.adoc[Token Replacement]
*** xref:pipeline/transforms/uniquerows.adoc[Unique Rows]
*** xref:pipeline/transforms/uniquerowsbyhashset.adoc[Unique Rows (HashSet)]
*** xref:pipeline/transforms/update.adoc[Update]
*** xref:pipeline/transforms/userdefinedjavaclass.adoc[User Defined Java Class]
*** xref:pipeline/transforms/userdefinedjavaexpression.adoc[User Defined Java Expression]
*** xref:pipeline/transforms/valuemapper.adoc[Value Mapper]
*** xref:pipeline/transforms/verticabulkloader.adoc[Vertica Bulk Loader]
*** xref:pipeline/transforms/webservices.adoc[Web services lookup]
*** xref:pipeline/transforms/workflow-executor.adoc[Workflow Executor]
*** xref:pipeline/transforms/workflow-logging.adoc[Workflow Logging]
*** xref:pipeline/transforms/writetolog.adoc[Write to log]
*** xref:pipeline/transforms/xmlinputstream.adoc[XML Input Stream (StAX)]
*** xref:pipeline/transforms/xmljoin.adoc[XML Join]
*** xref:pipeline/transforms/xmloutput.adoc[XML Output]
*** xref:pipeline/transforms/xsdvalidator.adoc[XSD Validator]
*** xref:pipeline/transforms/xslt.adoc[XSL Transformation]
*** xref:pipeline/transforms/yamlinput.adoc[Yaml Input]
*** xref:pipeline/transforms/zipfile.adoc[Zip file]
* xref:workflow/workflows.adoc[Workflows]
** xref:workflow/create-workflow.adoc[Create a Workflow]
** xref:workflow/run-debug-workflow.adoc[Run and Debug a Workflow]
** xref:workflow/workflow-run-configurations/workflow-run-configurations.adoc[Workflow Run Configurations]
** xref:workflow/actions.adoc[Actions]
//::=START AUTO GENERATED LINKS ACTIONS
*** xref:workflow/actions/abort.adoc[Abort workflow]
*** xref:workflow/actions/addresultfilenames.adoc[Add filenames to result]
*** xref:workflow/actions/as400command.adoc[AS/400 Command]
*** xref:workflow/actions/mysqlbulkfile.adoc[Bulk load from MySQL into file]
*** xref:workflow/actions/mssqlbulkload.adoc[Bulk load into MSSQL]
*** xref:workflow/actions/mysqlbulkload.adoc[Bulk load into MySQL]
*** xref:workflow/actions/cassandra-exec-cql.adoc[Cassandra Exec Cql]
*** xref:workflow/actions/checkdbconnection.adoc[Check Db connections]
*** xref:workflow/actions/checkfilelocked.adoc[Check files locked]
*** xref:workflow/actions/folderisempty.adoc[Check if a folder is empty]
*** xref:workflow/actions/xmlwellformed.adoc[Check if XML file is well-formed]
*** xref:workflow/actions/neo4j-checkconnections.adoc[Check Neo4j Connections]
*** xref:workflow/actions/webserviceavailable.adoc[Check webservice availability]
*** xref:workflow/actions/filesexist.adoc[Checks if files exists]
*** xref:workflow/actions/columnsexist.adoc[Columns exist in a table]
*** xref:workflow/actions/comparefolders.adoc[Compare folders]
*** xref:workflow/actions/dostounix.adoc[Convert file between Windows and Unix]
*** xref:workflow/actions/copyfiles.adoc[Copy Files]
*** xref:workflow/actions/createfolder.adoc[Create a folder]
*** xref:workflow/actions/createfile.adoc[Create file]
*** xref:workflow/actions/pgpdecryptfiles.adoc[Decrypt files with PGP]
*** xref:workflow/actions/deletefile.adoc[Delete file]
*** xref:workflow/actions/deleteresultfilenames.adoc[Delete filenames from result]
*** xref:workflow/actions/deletefiles.adoc[Delete files]
*** xref:workflow/actions/deletefolders.adoc[Delete folders]
*** xref:workflow/actions/msgboxinfo.adoc[Display Msgbox info]
*** xref:workflow/actions/dtdvalidator.adoc[DTD validator]
*** xref:workflow/actions/dummy.adoc[Dummy]
*** xref:workflow/actions/pgpencryptfiles.adoc[Encrypt files with PGP]
*** xref:workflow/actions/repeat-end.adoc[End repeat]
*** xref:workflow/actions/evalfilesmetrics.adoc[Evaluate files metrics]
*** xref:workflow/actions/evaluatetablecontent.adoc[Evaluate rows number in a table]
*** xref:workflow/actions/filecompare.adoc[File compare]
*** xref:workflow/actions/fileexists.adoc[File exists]
*** xref:workflow/actions/ftpdelete.adoc[FTP delete]
*** xref:workflow/actions/ftp.adoc[Get a file with FTP]
*** xref:workflow/actions/sftp.adoc[Get a file with SFTP]
*** xref:workflow/actions/getpop.adoc[Get mails (POP3/IMAP)]
*** xref:workflow/actions/http.adoc[HTTP]
*** xref:workflow/actions/eval.adoc[JavaScript]
*** xref:workflow/actions/mail.adoc[Mail]
*** xref:workflow/actions/mailvalidator.adoc[Mail validator]
*** xref:workflow/actions/movefiles.adoc[Move files]
*** xref:workflow/actions/neo4j-constraint.adoc[Neo4j constraint]
*** xref:workflow/actions/neo4j-cypherscript.adoc[Neo4j Cypher script]
*** xref:workflow/actions/neo4j-index.adoc[Neo4j index]
*** xref:workflow/actions/ping.adoc[Ping a host]
*** xref:workflow/actions/pipeline.adoc[Pipeline]
*** xref:workflow/actions/processresultfilenames.adoc[Process result filenames]
*** xref:workflow/actions/ftpput.adoc[Put a file with FTP]
*** xref:workflow/actions/sftpput.adoc[Put a file with SFTP]
*** xref:workflow/actions/repeat.adoc[Repeat]
*** xref:workflow/actions/runpipelinetests.adoc[Run pipeline unit tests]
*** xref:workflow/actions/sendnagiospassivecheck.adoc[Send Nagios passive check]
*** xref:workflow/actions/snmptrap.adoc[Send SNMP trap]
*** xref:workflow/actions/setvariables.adoc[Set variables]
*** xref:workflow/actions/shell.adoc[Shell]
*** xref:workflow/actions/simpleeval.adoc[Simple evaluation]
*** xref:workflow/actions/snowflake-whm.adoc[Snowflake warehouse manager]
*** xref:workflow/actions/sql.adoc[SQL]
*** xref:workflow/actions/start.adoc[Start]
*** xref:workflow/actions/success.adoc[Success]
*** xref:workflow/actions/tableexists.adoc[Table exists]
*** xref:workflow/actions/telnet.adoc[Telnet a host]
*** xref:workflow/actions/truncatetables.adoc[Truncate tables]
*** xref:workflow/actions/unzip.adoc[Unzip file]
*** xref:workflow/actions/pgpverify.adoc[Verify file signature with PGP]
*** xref:workflow/actions/waitfor.adoc[Wait for]
*** xref:workflow/actions/waitforfile.adoc[Wait for file]
*** xref:workflow/actions/waitforsql.adoc[Wait for SQL]
*** xref:workflow/actions/workflow.adoc[Workflow]
*** xref:workflow/actions/writetofile.adoc[Write to file]
*** xref:workflow/actions/writetolog.adoc[Write to Log]
*** xref:workflow/actions/xsdvalidator.adoc[XSD validator]
*** xref:workflow/actions/xslt.adoc[XSL pipeline]
*** xref:workflow/actions/zipfile.adoc[Zip File]
//::=END AUTO GENERATED LINKS ACTIONS
* xref:variables.adoc[Variables]
* xref:vfs.adoc[Virtual File System]
** xref:vfs/aws-s3-vfs.adoc[Amazon Web Services S3]
** xref:vfs/azure-blob-storage-vfs.adoc[Microsoft Azure Storage]
** xref:vfs/dropbox-vfs.adoc[Dropbox]
** xref:vfs/google-cloud-storage-vfs.adoc[Google Cloud Storage]
** xref:vfs/google-drive-vfs.adoc[Google Drive]
* xref:database/databases.adoc[Relational Database Connections]
//::=START AUTO GENERATED LINKS DATABASES
** xref:database/databases/derby.adoc[Apache Derby]
** xref:database/databases/duckdb.adoc[DuckDB]
** xref:database/databases/apache-hive.adoc[Apache Hive]
** xref:database/databases/as400.adoc[AS400]
** xref:database/databases/clickhouse.adoc[ClickHouse]
** xref:database/databases/cratedb.adoc[CrateDB]
** xref:database/databases/db2.adoc[DB2]
** xref:database/databases/doris.adoc[Apache Doris]
** xref:database/databases/exasol.adoc[Exasol]
** xref:database/databases/firebird.adoc[Firebird]
** xref:database/databases/googlebigquery.adoc[Google BigQuery]
** xref:database/databases/greenplum.adoc[Greenplum]
** xref:database/databases/sqlbase.adoc[Gupta SQLBase]
** xref:database/databases/h2.adoc[H2]
** xref:database/databases/hypersonic.adoc[Hypersonic]
** xref:database/databases/universe.adoc[IBM Universe]
** xref:database/databases/cloudera-impala.adoc[Cloudera Impala]
** xref:database/databases/infobright.adoc[Infobright DB]
** xref:database/databases/informix.adoc[Informix]
** xref:database/databases/ingres.adoc[Ingres]
** xref:database/databases/interbase.adoc[Interbase]
** xref:database/databases/cache.adoc[InterSystems Cache]
** xref:database/databases/iris.adoc[InterSystems Iris]
** xref:database/databases/kingbasees.adoc[Kingbase ES]
** xref:database/databases/mariadb.adoc[Mariadb]
** xref:database/databases/sapdb.adoc[MaxDB (SAP DB)]
** xref:database/databases/singlestore.adoc[SingleStore (MemSQL)]
** xref:database/databases/access.adoc[Microsoft Access]
** xref:database/databases/monetdb.adoc[MonetDB]
** xref:database/databases/mssql.adoc[MS SqlServer]
** xref:database/databases/mssqlnative.adoc[MS SqlServer (Native)]
** xref:database/databases/mysql.adoc[MySql]
** xref:database/databases/netezza.adoc[Netezza]
** xref:database/databases/oracle.adoc[Oracle]
** xref:database/databases/oraclerdb.adoc[Oracle RDB]
** xref:database/databases/postgresql.adoc[PostgreSQL]
** xref:database/databases/redshift.adoc[Redshift]
** xref:database/databases/snowflake.adoc[Snowflake]
** xref:database/databases/sqlite.adoc[SqLite]
** xref:database/databases/sybase.adoc[Sybase]
** xref:database/databases/sybaseiq.adoc[Sybase IQ]
** xref:database/databases/teradata.adoc[Teradata]
** xref:database/databases/vectorwise.adoc[Vectorwise]
** xref:database/databases/vertica.adoc[Vertica]
//::=END AUTO GENERATED LINKS DATABASES
* xref:logging/logging-basics.adoc[Logging basics]
** xref:logging/logging-reflection.adoc[Logging reflection]
* xref:metadata-types/index.adoc[Metadata Types]
** xref:metadata-types/async-web-service.adoc[]
** xref:metadata-types/azure-authentication.adoc[Azure Authentication]
** xref:metadata-types/beam-file-definition.adoc[Beam File Definition]
** xref:metadata-types/cassandra/cassandra-connection.adoc[Cassandra Connection]
** xref:metadata-types/data-set.adoc[Data Set]
** xref:metadata-types/execution-data-profile.adoc[]
** xref:metadata-types/execution-information-location.adoc[]
** xref:metadata-types/google-storage-authentication.adoc[Google Storage Authentication]
** xref:metadata-types/hop-server.adoc[Hop Server]
** xref:metadata-types/mongodb-connection.adoc[MongoDB Connection]
** xref:metadata-types/neo4j/neo4j-connection.adoc[Neo4j Connection]
** xref:metadata-types/neo4j/neo4j-graphmodel.adoc[Neo4j Graph Model]
** xref:metadata-types/partition-schema.adoc[Partition Schema]
** xref:metadata-types/pipeline-log.adoc[Pipeline Log]
** xref:metadata-types/pipeline-probe.adoc[Pipeline Probe]
** xref:metadata-types/pipeline-run-config.adoc[Pipeline Run Configuration]
** xref:metadata-types/pipeline-unit-test.adoc[Pipeline Unit Test]
** xref:metadata-types/rdbms-connection.adoc[Relational Database Connection]
** xref:metadata-types/rest-connection.adoc[REST Connection]
** xref:metadata-types/splunk-connection.adoc[Splunk Connection]
** xref:metadata-types/variable-resolver/index.adoc[Variable Resolver]
*** xref:metadata-types/variable-resolver/pipeline-variable-resolver.adoc[Pipeline variable resolver]
*** xref:metadata-types/variable-resolver/vault-variable-resolver.adoc[Hashicorp Vault variable resolver]
*** xref:metadata-types/variable-resolver/google-secret-manager-variable-resolver.adoc[Google Secret Manager variable resolver]
** xref:metadata-types/static-schema-definition.adoc[Static Schema Definition]
** xref:hop-server/web-service.adoc[Web Service]
** xref:metadata-types/workflow-log.adoc[Workflow Log]
** xref:metadata-types/workflow-run-config.adoc[Workflow Run Configuration]
* xref:password/passwords.adoc[Passwords]
//::=START AUTO GENERATED LINKS PASSWORDS
** xref:password/passwords/aespasswords.adoc[AES Two way password encoder]
//::=END AUTO GENERATED LINKS PASSWORDS
//::=START AUTO GENERATED LINKS
//::=END AUTO GENERATED LINKS
* xref:samples/samples.adoc[Samples]
* xref:technology/technology.adoc[Technology]
** xref:technology/azure/index.adoc[Azure]
** xref:technology/cassandra/index.adoc[Cassandra]
** xref:technology/memgraph/index.adoc[Memgraph]
** xref:technology/neo4j/index.adoc[Neo4j]
*** xref:technology/neo4j/working-with-neo4j-data.adoc[Working with Neo4j data]
** xref:technology/google/index.adoc[Google]
* xref:hop-server/index.adoc[Hop Server]
** xref:hop-server/rest-api.adoc[REST api]
** xref:hop-server/web-service.adoc[Web Service]
** xref:hop-server/async-web-service.adoc[Async Web Service]
* xref:hop-rest/index.adoc[Hop REST Web Application]
* xref:hop-tools/index.adoc[Hop Tools]
** xref:hop-tools/hop-conf/hop-conf.adoc[hop-conf]
** xref:hop-tools/hop-encrypt.adoc[hop-encrypt]
** xref:hop-tools/hop-gui.adoc[hop-gui]
** xref:hop-run/index.adoc[hop-run]
** xref:hop-tools/hop-search.adoc[hop-search]
** xref:hop-tools/hop-import.adoc[hop-import]
** xref:hop-server/index.adoc[hop-server]
* xref:best-practices/index.adoc[Best Practices]
* xref:protips/index.adoc[Pro Tips]
* xref:hop-usps.adoc[Unique Selling Propositions]
* xref:how-to-guides/index.adoc[How-to guides]
** xref:how-to-guides/apache-hop-web-services-docker.adoc[Hop web services in Docker]
** xref:how-to-guides/joins-lookups.adoc[Joins and lookups]
** xref:how-to-guides/logging-pipeline-log.adoc[Logging pipeline data with pipeline log]
** xref:how-to-guides/logging-workflow-log.adoc[Logging workflow data with workflow log]
** xref:how-to-guides/loops-in-apache-hop.adoc[Loops in Apache Hop]
** xref:how-to-guides/workflows-parallel-execution.adoc[Parallel execution in workflows]
** xref:how-to-guides/run-hop-in-apache-airflow.adoc[Run Hop workflows and pipelines in Apache Airflow]
** xref:how-to-guides/avoiding-deadlocks.adoc[Avoiding deadlocks]
* xref:community-blogs/index.adoc[Community Posts]
