# 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: 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:

```
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>
```

The question should be specific, self-contained, and written in natural language.
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.
