Script Types

SuiteScript Map/Reduce Scripts

Using Map/Reduce Scripts

SuiteScript map/reduce scripts process large datasets.

Introduction to Map/Reduce Scripts

Map/Reduce scripts in SuiteScript are designed to handle large data processing tasks efficiently. They divide the task into smaller, manageable pieces that can be processed in parallel, making them ideal for operations on large datasets.

These scripts are particularly useful for tasks such as data transformation, data import/export, and complex calculations that require significant processing power.

Script Structure

A SuiteScript Map/Reduce script is divided into four main stages:

  • Get Input Data: This stage retrieves the data that needs to be processed.
  • Map: Processes each record individually. This is where the main processing logic is applied to each piece of data.
  • Reduce: Combines the results of the map stage. This step is used when you need to aggregate data.
  • Summarize: Finalizes the process by summarizing the output, handling errors, and performing any last operations.

Example of a Basic Map/Reduce Script

Below is a simple example of a Map/Reduce script that processes sales orders:

When to Use Map/Reduce Scripts

Map/Reduce scripts are best utilized when dealing with:

  • Large datasets that need to be processed in parallel to save time.
  • Tasks requiring significant processing power, such as complex calculations or data transformations.
  • Operations that can be broken down into smaller, independent tasks.

They are not recommended for simple tasks where a single script execution suffices.

Best Practices

To make the most out of your Map/Reduce scripts, consider the following best practices:

  • Ensure data passed between stages is as minimal as possible to reduce overhead.
  • Make use of the Summarize stage to handle any errors and log useful information for debugging.
  • Optimize your Map and Reduce logic to execute quickly and efficiently.
Previous
Suitelets