Input and Output
| Alteryx Tool | Equivalent Prophecy Gem | Description |
|---|---|---|
| Browse | Data Explorer | Lets you explore and analyze data samples directly within the UI. |
| Directory | Directory | Returns a listing of all files in a directory with metadata such as creation time, type, and size. |
| Input Data | Source | Facilitates data ingestion from supported sources, including schema inference and preview. |
| Output Data | Target | Allows saving transformed data to various destinations, databases, or file formats. |
| Text Input | Source | Provides a seed source option for manually inputting data to create small datasets. |
| Date Time Now | Schema Transform | Returns the current timestamp or date at the start of pipeline execution. |
Preparation
| Alteryx Tool | Equivalent Prophecy Gems | Description |
|---|---|---|
| Create Samples | RowDistributor | Samples records on multiple output ports based on given criteria. |
| Data Cleansing | DataCleansing | Standardizes data formats and addresses missing or null values in the data. |
| Filter | Filter | Filters data based on the provided filter condition. |
| Formula | Reformat | Transforms one or more column names or values by using expressions and functions. |
| Generate Rows | SchemaTransform (Spark UDF) | Calls Spark UDF with explode() to create new rows of data. |
| Imputation | Aggregate + Join + Reformat | Replaces specific values with an aggregate of the column such as min, avg, and max using Join and Aggregate Gems. |
| Multi-field Binning | Reformat | Tiles or bins multiple fields by assigning bin numbers using aggregates and expressions. |
| Multi-field Formula | BulkColumnExpressions | Renames, updates, or changes the type of a set of columns. |
| Multi-row Formula | Reformat | Updates rows with sequential transformations inside a Reformat gem. |
| Oversample Field | Filter + SetOperation | Uses Filter and Union operations to oversample fields with appropriate counts. |
| Random % Sample | SampleRows | Generates a random sample of records, optionally grouped on specific fields. |
| Record ID | Sequence | Generates IDs for each record starting from an initial value and incrementing by a fixed amount. |
| Sample | SampleRows | Samples records by selecting a specific number or percentage of records. |
| Select Records | Sequence + Filter | Combines Sequence and Filter Gems to generate record IDs and choose subsets of records. |
| Select | Reformat | Includes, excludes, reorders, casts, or renames columns. |
| Sort | OrderBy | Sorts incoming records based on one or more selected fields. |
| Tile | WindowFunction | Assigns tile values to each record using the ntile() function. |
| Unique | Deduplicate | Filters unique rows based on specified columns. |
Join
| Alteryx Tool | Equivalent Prophecy Gems | Description |
|---|---|---|
| Append Fields | Join | When the condition is true, performs Inner/Outer Join. |
| Find Replace | Reformat | Finds and replaces string matches in a column. |
| Join | Join | Joins two data sources based on a common field. |
| Join Multiple | Join | Joins multiple data sources on a common field. |
| Make Group | Script | Identifies relationships across fields using custom logic. |
| Union | SetOperation | Combines records from multiple data sources into one output. |
Parse
| Alteryx Tool | Equivalent Prophecy Gems | Description |
|---|---|---|
| DateTime | Reformat | Uses data functions such as current_date() to manipulate date and time fields. |
| RegEx | Reformat or SchemaTransform | Uses regex functions such as regex_replace() and regex_extract() for parsing data. |
| Text to Columns | Script | Implements custom parsing logic to split text into multiple columns. |
| XML Parse | ColumnParser | Parses input JSON or XML fields with schema inference or predefined schema. |
Transform
| Alteryx Tool | Equivalent Prophecy Gems | Description |
|---|---|---|
| Arrange | Reformat | Rearranges columns in the dataset. |
| Count Records | Reformat | Uses the count() function to count records in a dataset. |
| Cross Tab | Aggregate | Pivots data on unique values of a specified column. |
| Make Columns | Reformat + WindowFunction | Wraps rows of data into columns. |
| Running Total | WindowFunction | Calculates a cumulative sum on a numeric field using unbounded precedence. |
| Summarize | Aggregate | Performs functions and calculations on data (excluding domain-specific actions). |
| Transpose | Script | Uses pivoting logic to change data orientation. |
| Weighted Average | Aggregate | Computes a weighted average using required expressions. |
Lab
Developer
| Alteryx Tool | Equivalent Prophecy Gems | Description |
|---|---|---|
| Base64 Encoder | Reformat | Encodes a string field as Base64 using the base64() function. |
| Download | RestAPIEnrich | Enriches a DataFrame by adding columns from REST API output. |
| Dynamic Input | TableIterator | Iterates over Gems for each row of the input DataFrame. |
| Dynamic Rename | BulkColumnRename | Renames multiple columns systematically. |
| Dynamic Replace | DynamicReplace | Dynamically replaces field values based on user-defined conditions. |
| Dynamic Select | DynamicSelect | Dynamically filters columns based on conditions. |
| JSON Parse | ColumnParser | Parses JSON or XML into a tabular format. |
| Python | Script | Lets you write custom Python code for transformations. |
| Test | Script | Compares data using custom test logic. |
Macros
| Alteryx Macro | Equivalent Prophecy Gems | Description |
|---|---|---|
| Standard | Subgraph | Encapsulates multiple Gems within a single, reusable parent Gem for modular pipelines. |
| Batch | TableIterator | Iterates over a subgraph for each input row. |
| Iterative | WhileIterator | Recursively processes rows until the result set is empty or a maximum number of iterations is reached. |
If you don’t see a particular component on this list, you can include custom abilities beyond custom scripting. To learn more, see Gem Builder for Spark.

