> For the complete documentation index, see [llms.txt](https://docs.pentaho.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pentaho.com/pdia-data-integration/9.3-data-integration/advanced-topics-pentaho-data-integration-overview/adaptive-execution-layer-cp-landing-page/use-ael/recommended-pdi-steps-to-use-with-spark-on-ael-cp.md).

# Recommended PDI steps to use with Spark on AEL

When you want to access, process, and analyze large datasets, the following PDI transformation steps are coded for Spark to work well with big data technologies.

* [Abort](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/abort.md)
* [AMQP Consumer](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/amqp-consumer.md)
* [Avro Input](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/avro-input.md)
* [Avro Output](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/avro-output.md)
* [Copy rows to result](http://wiki.pentaho.com/display/EAI/Copy+rows+to+result)
* [Dummy (do nothing)](https://wiki.pentaho.com/display/EAI/Dummy+%28do+nothing%29)
* [ETL Metadata Injection](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/etl-metadata-injection.md)
* [Filter Rows](http://wiki.pentaho.com/display/EAI/Filter+Rows)
* [Get records from stream](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/get-records-from-stream.md)
* [Get rows from result](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/get-rows-from-result.md)
* [Group By](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/group-by-landing-page-article.md)
* [Hadoop File Input](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/hadoop-file-input-cp-main-page.md)
* [Hadoop File Output](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/hadoop-file-output-cp-main-page/select-an-engine-hadoop-file-ouput/using-the-hadoop-file-output-step-on-the-pentaho-engine-cp.md)
* [HBase Input](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/hbase-input-cp-main-page.md)
* [HBase Output](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/hbase-output.md)
* [Java filter](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/java-filter-pdi-step.md)
* [Join Rows (Cartesian product)](https://wiki.pentaho.com/display/EAI/Join+Rows+%28Cartesian+product%29)
* [Kafka Consumer](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/kafka-consumer.md)
* [Mapping (Sub-transformation)](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/mapping.md)
* [Mapping Input Specification](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/mapping/mapping-input-specification.md)
* [Mapping Output Specification](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/mapping/mapping-output-specification.md)
* [Memory Group By](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/memory-group-by.md)
* [Merge Join](http://wiki.pentaho.com/display/EAI/Merge+Join)
* [Merge Rows (diff)](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/merge-rows-diff.md)
* [MQTT Consumer](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/mqtt-consumer.md)
* [ORC Input](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/orc-input.md)
* [ORC Output](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/orc-output.md)
* [Parquet Input](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/parquet-input.md)
* [Parquet Output](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/parquet-input.md)
* [Simple Mapping](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/simple-mapping-sub-transformation.md)
* [Sort rows](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/sort-rows-transformation-step.md)
* [Stream Lookup](http://wiki.pentaho.com/display/EAI/Stream+Lookup)
* [Switch / Case](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/switch-case.md)
* [Table Input](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/table-input.md)
* [Table Output](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/table-output.md)
* [Text File Input](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/text-file-input-cp.md)
* [Text File Output](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/text-file-output-cp/select-an-engine-text-file-output/using-text-file-output-on-pentaho-engine-cp.md)
* [Transformation Executor](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/transformation-executor.md)
* [Unique Rows](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/unique-rows.md)
* [Unique Rows (HashSet)](/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview/unique-rows-hashset.md)
* [Write to Log](http://wiki.pentaho.com/display/EAI/Write+to+log+%28step%29)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.pentaho.com/pdia-data-integration/9.3-data-integration/advanced-topics-pentaho-data-integration-overview/adaptive-execution-layer-cp-landing-page/use-ael/recommended-pdi-steps-to-use-with-spark-on-ael-cp.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
