Skip to content

Job ​

The Job resource lets you manage AWS DataBrew Jobs for transforming and preparing your data visually without writing code.

Minimal Example ​

Create a basic DataBrew job with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const basicDataBrewJob = await AWS.DataBrew.Job("basic-data-brew-job", {
  roleArn: "arn:aws:iam::123456789012:role/DataBrew-Execution-Role",
  name: "BasicDataBrewJob",
  type: "profile", // Job type can be "profile" or "recipe"
  projectName: "MyDataBrewProject",
  recipe: {
    name: "MyRecipe",
    steps: [] // Specify the steps for the recipe
  },
  maxRetries: 3
});

Advanced Configuration ​

Configure a DataBrew job with encryption and multiple outputs for enhanced security and data handling.

ts
const secureDataBrewJob = await AWS.DataBrew.Job("secure-data-brew-job", {
  roleArn: "arn:aws:iam::123456789012:role/DataBrew-Execution-Role",
  name: "SecureDataBrewJob",
  type: "recipe",
  projectName: "MySecureProject",
  recipe: {
    name: "MySecureRecipe",
    steps: [] // Specify steps for the recipe
  },
  encryptionKeyArn: "arn:aws:kms:us-east-1:123456789012:key/abcd1234-56ef-78gh-90ij-klmnopqrst",
  outputs: [{
    name: "MyOutput",
    outputLocation: {
      bucket: "my-data-brew-bucket",
      path: "output-data/"
    }
  }],
  tags: [{
    key: "Environment",
    value: "Production"
  }]
});

Job Sample Configuration ​

Create a DataBrew job with a sample of the dataset to analyze.

ts
const jobWithSample = await AWS.DataBrew.Job("job-with-sample", {
  roleArn: "arn:aws:iam::123456789012:role/DataBrew-Execution-Role",
  name: "JobWithSample",
  type: "recipe",
  projectName: "SampleProject",
  recipe: {
    name: "SampleRecipe",
    steps: [] // Specify recipe steps
  },
  jobSample: {
    size: 1000,
    type: "FIRST_N" // Options include FIRST_N or RANDOM
  },
  outputs: [{
    name: "SampleOutput",
    outputLocation: {
      bucket: "sample-bucket",
      path: "sample-output/"
    }
  }]
});

Validation Configuration ​

Set up a DataBrew job with validation configurations to ensure data quality.

ts
const jobWithValidation = await AWS.DataBrew.Job("job-with-validation", {
  roleArn: "arn:aws:iam::123456789012:role/DataBrew-Execution-Role",
  name: "JobWithValidation",
  type: "profile",
  projectName: "ValidationProject",
  recipe: {
    name: "ValidationRecipe",
    steps: [] // Specify recipe steps
  },
  validationConfigurations: [{
    columnNames: ["column1", "column2"],
    validationExpression: "column1 IS NOT NULL",
    validationAction: "WARN"
  }],
  outputs: [{
    name: "ValidationOutput",
    outputLocation: {
      bucket: "validation-bucket",
      path: "validation-output/"
    }
  }]
});