데이터 처리 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

데이터 처리

기계 학습 워크플로에 적합한 위치로 데이터를 처리하거나 내보낼 수 있습니다. 예를 들어 변환된 데이터를 SageMaker Canvas 데이터셋으로 내보내고 이를 바탕으로 기계 학습 모델을 만들 수 있습니다.

데이터를 내보낸 후 모델 생성을 선택하여 데이터로 기계 학습 모델을 만들 수 있습니다. 모델 생성에 대한 자세한 내용은 사용자 지정 모델 구축을 참조하십시오.

중요

참고로 SageMaker Canvas 데이터셋에는 5GB 제한이 있습니다. 5GB가 넘는 데이터를 처리하는 경우 데이터를 내보내기 전에 샘플링 변환을 사용하여 데이터세트 크기를 줄일 수 있습니다. 또는 더 큰 데이터 세트를 Amazon S3로 내보낼 수 있습니다. 데이터세트 가져오기에 대한 자세한 내용은 을 참조하십시오. 데이터세트 생성

Data Wrangler 데이터 흐름 내에서 대화형 방식으로 데이터를 작업하는 동안 SageMaker Canvas는 미리 볼 수 있도록 샘플 데이터셋에만 변환을 적용합니다. 가져온 모든 데이터를 처리하려면 데이터 내보내기를 선택하면 됩니다. 대규모 데이터를 처리하기 위해 여러 컴퓨팅 인스턴스로 확장해야 하는 경우 선택하십시오처리 작업을 사용하여 데이터를 내보냅니다.. 데이터 흐름을 내보내고 기계 학습 워크플로의 일부로 Jupyter 노트북을 사용하여 실행하려면 데이터 흐름 내보내기를 선택하면 됩니다.

데이터 내보내기

데이터를 내보내 데이터 흐름의 변환을 가져온 전체 데이터세트에 적용하세요. 데이터 흐름의 모든 노드를 다음 위치로 내보낼 수 있습니다.

  • SageMaker 캔버스 데이터셋

  • Amazon S3

Amazon S3의 경우 데이터를 다음 파일 유형 중 하나로 내보낼 수 있습니다.

  • CSV

  • PARQUET

변환된 데이터 (최대 5GB) 를 SageMaker Canvas 데이터세트로 내보내 모델을 생성할 수 있습니다. 다음 절차를 사용하여 데이터 흐름의 노드에서 SageMaker Canvas 데이터셋을 내보낼 수 있습니다.

흐름의 노드를 SageMaker Canvas 데이터세트로 내보내려면
  1. 데이터 흐름으로 이동하세요.

  2. 내보내는 노드 옆의 +를 선택합니다.

  3. 데이터 내보내기를 선택합니다.

  4. Canvas 데이터세트를 선택합니다.

  5. 내보내기를 선택합니다.

데이터세트를 Amazon S3로 내보내 변환된 데이터를 SageMaker Canvas 외부의 기계 학습 워크플로에서 사용할 수 있습니다.

흐름의 노드를 Amazon S3로 내보내려면
  1. 데이터 흐름으로 이동합니다.

  2. 내보내는 노드 옆의 +를 선택합니다.

  3. 데이터 내보내기를 선택합니다.

  4. Amazon S3를 선택합니다.

  5. 다음 필드의 값을 지정합니다.

    • Amazon S3 위치 — 파일을 내보내는 S3 위치입니다. Amazon S3 위치 또는 액세스 포인트의 S3 URI, 별칭 또는 ARN을 입력할 수 있습니다. Amazon S3 액세스 포인트에 대한 자세한 내용은 Amazon S3 사용 설명서의 Amazon S3 액세스 포인트를 참조하십시오.

    • 파일 유형 – 내보내는 파일의 형식입니다.

    • 구분자 — 파일에서 값을 구분하는 데 사용되는 값입니다.

    • 압축 (선택 사항) — 파일 크기를 줄이는 데 사용되는 압축 방법입니다. 다음 압축 방법을 사용할 수 있습니다.

      • None

      • bzip2

      • deflate

      • gzip

    • KMS 키 ID 또는 ARN (선택 사항) — 키의 ARN 또는 ID입니다. AWS KMS KMS 키는 암호화 키입니다. 이 키를 사용하여 작업의 출력 데이터를 암호화할 수 있습니다. KMS 키에 대한 자세한 내용은 AWS Key Management Service 단원을 참조하세요.

  6. 내보내기를 선택합니다.

처리 작업을 사용하여 데이터를 내보냅니다.

Amazon SageMaker 처리 작업을 생성하면 데이터 흐름을 사용하여 여러 컴퓨팅 인스턴스가 있는 대규모 데이터 세트를 빠르게 처리할 수 있습니다.

SageMaker 처리 작업을 생성하려면 다음과 같이 하십시오.

  1. 대상 노드 생성

  2. 작업 만들기

대상 노드는 처리된 데이터를 저장할 위치를 SageMaker Canvas에 알려줍니다. 대상 노드에서 지정한 위치에 변환된 데이터를 출력하는 처리 작업을 생성합니다. 처리 작업 생성은 데이터와 출력을 Amazon S3로 변환하도록 지정된 계산 리소스에 맞게 조정됩니다.

대상 노드를 사용하여 Data Wrangler 흐름에서 수행한 일부 변환 또는 모든 변환을 내보낼 수 있습니다.

여러 대상 노드를 사용하여 다양한 변환 또는 변환 세트를 내보낼 수 있습니다. 다음 예에서는 단일 Data Wrangler 흐름의 두 대상 노드를 보여줍니다.

다음 절차를 사용하여 대상 노드를 생성합니다.

대상 노드를 만들려면
  1. 내보내려는 변환을 나타내는 노드 옆의 +를 선택합니다.

  2. 대상 추가를 선택합니다.

  3. Amazon S3를 선택합니다.

  4. 다음 필드를 지정합니다.

    • 데이터 세트 이름 – 내보내는 데이터 세트에 대해 지정하는 이름입니다.

    • 파일 유형 – 내보내는 파일의 형식입니다.

    • 구분자 — 다른 값을 구분하는 데 사용되는 값입니다.

    • 압축(CSV 및 Parquet 파일만 해당) – 파일 크기를 줄이는 데 사용되는 압축 방법입니다. 다음 압축 방법을 사용할 수 있습니다.

      • bzip2

      • deflate

      • gzip

    • Amazon S3 위치 — 파일을 출력하는 데 사용하는 S3 위치입니다.

    • (선택 사항) 파티션 수 – 처리 작업의 출력으로 작성 중인 데이터 세트의 수입니다.

    • (선택 사항) 열 기준 분할 – 열에서 동일한 고유 값을 사용하여 모든 데이터를 씁니다.

  5. 대상 추가를 선택합니다.

동일한 데이터 흐름 내에 여러 대상 노드를 생성할 수 있습니다. 처리 작업을 생성하면 데이터에 대해 여러 변환 세트를 동시에 수행하고 이를 다른 Amazon S3 위치에 저장할 수 있습니다.

데이터 흐름 내보내기

데이터 흐름을 내보내면 데이터 랭글러에서 수행한 작업이 변환되어 수정 및 실행할 수 있는 Jupyter 노트북으로 내보냅니다.

데이터 흐름은 데이터에 대해 수행한 일련의 데이터 준비 단계입니다. 데이터 준비 과정에서 데이터에 대한 변환을 한 번 이상 수행합니다. 각 변환은 변환 단계를 사용하여 이루어집니다. 흐름에는 데이터 가져오기와 자신이 수행한 변환을 나타내는 일련의 노드가 있습니다. 노드 예는 다음 이미지를 참조하세요.

대상 노드를 사용하는 대신 데이터 흐름 내보내기 옵션을 사용하여 Jupyter 노트북을 사용하여 데이터 랭글러 흐름을 Amazon S3로 내보낼 수 있습니다. 출력 코드를 기계 학습 파이프라인에 통합할 수 있습니다. 데이터 흐름에서 원하는 데이터 노드를 선택하여 내보낼 수 있습니다. 데이터 노드를 내보내면 노드가 나타내는 변환과 그 이전의 변환이 내보내집니다.

다음 절차를 사용하여 Jupyter 노트북을 생성하고 실행하여 데이터 흐름을 Amazon S3로 내보냅니다.

  1. 내보내고자 하는 노드 옆에 있는 +를 선택합니다.

  2. 데이터 흐름 내보내기를 선택합니다.

  3. 다음 중 하나를 선택합니다.

    • (주피터 노트북을 통해) Amazon S3에 저장합니다.

    • 아마존 퍼스널라이즈.

  4. 다음 중 하나 선택:

    • 로컬 사본 다운로드

    • S3 위치로 내보내기

  5. Amazon S3로 내보내는 경우 노트북을 내보낼 S3 위치를 지정하십시오.

  6. 내보내기를 선택합니다.

새 데이터를 자동으로 처리하도록 일정을 생성하십시오.

데이터를 주기적으로 처리하는 경우 처리 작업을 자동으로 실행하는 일정을 생성할 수 있습니다. 예를 들어 새 데이터를 받을 때 처리 작업을 자동으로 실행하는 일정을 생성할 수 있습니다. 작업 처리에 대한 자세한 내용은 을 참조하십시오처리 작업을 사용하여 데이터를 내보냅니다..

작업을 생성할 때는 작업을 생성할 권한이 있는 IAM 역할을 지정해야 합니다. AmazonSageMakerCanvasDataPrepFullAccess정책을 사용하여 권한을 추가할 수 있습니다.

역할을 맡을 수 EventBridge 있도록 다음 신뢰 정책을 역할에 추가하십시오.

{ "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" }
중요

일정을 만들면 데이터 랭글러가 In을 eventRule 생성합니다. EventBridge 생성한 이벤트 규칙과 처리 작업 실행에 사용되는 인스턴스에 모두 요금이 부과됩니다.

EventBridge 요금에 대한 자세한 내용은 Amazon EventBridge 요금을 참조하십시오. 작업 요금 처리에 대한 자세한 내용은 Amazon SageMaker 요금을 참조하십시오.

다음 방법 중 하나를 사용하여 일정을 설정할 수 있습니다.

  • CRON 표현식

    참고

    Data Wrangler는 다음 표현식을 지원하지 않습니다.

    • LW#

    • 요일 약어

    • 월 약어

  • RATE 표현식

  • 반복 – 작업을 실행할 시간당 또는 일별 간격을 설정합니다.

  • 특정 시간 – 작업을 실행할 특정한 날과 시간을 설정합니다.

다음 단원에는 작업 생성 절차가 나와 있습니다.

CRON

다음 절차에 따라 CRON 표현식으로 일정을 생성합니다.

CRON 표현식으로 일정을 지정하려면 다음을 수행하세요.

  1. Data Wrangler 흐름을 엽니다.

  2. 작업 생성을 선택합니다.

  3. (선택 사항) 출력 KMS 키의 경우 작업 출력을 구성하는 AWS KMS 키를 지정합니다.

  4. 다음을 선택합니다.

  5. 일정 연결을 선택합니다.

  6. 새 예약 생성을 선택합니다.

  7. 일정 이름에는 일정의 이름을 지정합니다.

  8. 실행 빈도에는 CRON을 선택합니다.

  9. 유효한 CRON 표현식을 지정합니다.

  10. 생성을 선택합니다.

  11. (선택 사항) 추가 일정에 따라 작업을 실행하려면 다른 일정 추가를 선택합니다.

    참고

    최대 두 개의 일정을 연결할 수 있습니다. 일정은 독립적이며 시간이 겹치지 않는 한 서로 영향을 주지 않습니다.

  12. 다음 중 하나를 선택합니다.

    • 지금 예약 및 실행 – Data Wrangler를 사용하면 작업이 즉시 실행되고 이후에 일정에 따라 실행됩니다.

    • 일정만 – Data Wrangler를 사용하면 지정한 일정에 따라서만 작업이 실행됩니다.

  13. 실행을 선택합니다.

RATE

다음 절차에 따라 RATE 표현식으로 일정을 생성합니다.

RATE 표현식으로 일정을 지정하려면 다음을 수행하세요.

  1. Data Wrangler 흐름을 엽니다.

  2. 작업 생성을 선택합니다.

  3. (선택 사항) 출력 KMS 키의 경우 작업 출력을 구성하는 AWS KMS 키를 지정합니다.

  4. 다음, 2. 작업 구성을 선택합니다.

  5. 일정 연결을 선택합니다.

  6. 새 예약 생성을 선택합니다.

  7. 일정 이름에는 일정의 이름을 지정합니다.

  8. 실행 빈도에는 속도를 선택합니다.

  9. 에는 정수를 지정합니다.

  10. 단위에는 다음 중 하나를 선택합니다.

    • 시간

  11. 생성을 선택합니다.

  12. (선택 사항) 추가 일정에 따라 작업을 실행하려면 다른 일정 추가를 선택합니다.

    참고

    최대 두 개의 일정을 연결할 수 있습니다. 일정은 독립적이며 시간이 겹치지 않는 한 서로 영향을 주지 않습니다.

  13. 다음 중 하나를 선택합니다.

    • 지금 예약 및 실행 – Data Wrangler를 사용하면 작업이 즉시 실행되고 이후에 일정에 따라 실행됩니다.

    • 일정만 – Data Wrangler를 사용하면 지정한 일정에 따라서만 작업이 실행됩니다.

  14. 실행을 선택합니다.

Recurring

작업을 반복적으로 실행하는 일정을 만들려면 다음 절차에 따르세요.

CRON 표현식으로 일정을 지정하려면 다음을 수행하세요.

  1. Data Wrangler 흐름을 엽니다.

  2. 작업 생성을 선택합니다.

  3. (선택 사항) 출력 KMS 키의 경우 작업 출력을 구성하는 AWS KMS 키를 지정합니다.

  4. 다음, 2. 작업 구성을 선택합니다.

  5. 일정 연결을 선택합니다.

  6. 새 예약 생성을 선택합니다.

  7. 일정 이름에는 일정의 이름을 지정합니다.

  8. 실행 빈도의 경우 반복이 기본적으로 선택되어 있는지 확인하세요.

  9. x시간마다 하루 동안 작업이 실행되는 시간당 빈도를 지정합니다. 유효한 값은 123을 포함한 범위의 정수입니다.

  10. 지정일에는 다음 옵션 중 하나를 선택합니다.

    • 매일

    • 주말

    • 평일

    • 요일 선택

    1. (선택 사항) 요일 선택을 선택한 경우 작업을 실행할 요일을 선택합니다.

    참고

    일정이 매일 재설정됩니다. 작업이 5시간마다 실행되도록 예약하면 하루 중 다음 시간에 작업이 실행됩니다.

    • 00:00

    • 05:00

    • 10:00

    • 15:00

    • 20:00

  11. 생성을 선택합니다.

  12. (선택 사항) 추가 일정에 따라 작업을 실행하려면 다른 일정 추가를 선택합니다.

    참고

    최대 두 개의 일정을 연결할 수 있습니다. 일정은 독립적이며 시간이 겹치지 않는 한 서로 영향을 주지 않습니다.

  13. 다음 중 하나를 선택합니다.

    • 지금 예약 및 실행 – Data Wrangler를 사용하면 작업이 즉시 실행되고 이후에 일정에 따라 실행됩니다.

    • 일정만 – Data Wrangler를 사용하면 지정한 일정에 따라서만 작업이 실행됩니다.

  14. 실행을 선택합니다.

Specific time

특정 시간에 작업을 실행하는 일정을 생성하려면 다음 절차에 따르세요.

CRON 표현식으로 일정을 지정하려면 다음을 수행하세요.

  1. Data Wrangler 흐름을 엽니다.

  2. 작업 생성을 선택합니다.

  3. (선택 사항) 출력 KMS 키의 경우 작업 출력을 구성하는 AWS KMS 키를 지정합니다.

  4. 다음, 2. 작업 구성을 선택합니다.

  5. 일정 연결을 선택합니다.

  6. 새 예약 생성을 선택합니다.

  7. 일정 이름에는 일정의 이름을 지정합니다.

  8. 생성을 선택합니다.

  9. (선택 사항) 추가 일정에 따라 작업을 실행하려면 다른 일정 추가를 선택합니다.

    참고

    최대 두 개의 일정을 연결할 수 있습니다. 일정은 독립적이며 시간이 겹치지 않는 한 서로 영향을 주지 않습니다.

  10. 다음 중 하나를 선택합니다.

    • 지금 예약 및 실행 – Data Wrangler를 사용하면 작업이 즉시 실행되고 이후에 일정에 따라 실행됩니다.

    • 일정만 – Data Wrangler를 사용하면 지정한 일정에 따라서만 작업이 실행됩니다.

  11. 실행을 선택합니다.

를 사용하여 실행이 SageMaker AWS Management Console 예약된 작업을 볼 수 있습니다. 처리 작업은 SageMaker 파이프라인 내에서 실행됩니다. 각 처리 작업에는 자체적인 파이프라인이 있습니다. 파이프라인 내에서 처리 단계로 실행됩니다. 파이프라인 내에서 생성한 일정을 볼 수 있습니다. 파이프라인을 보는 방법에 대한 자세한 내용은 파이프라인 보기 단원을 참조하세요.

예약한 작업을 보려면 다음 절차를 따르세요.

예약한 작업을 보려면 다음을 수행하세요.

  1. 아마존 SageMaker 스튜디오 클래식을 엽니다.

  2. 오픈 SageMaker 파이프라인

  3. 생성한 작업의 파이프라인을 확인합니다.

    작업을 실행 중인 파이프라인은 작업 이름을 접두사로 사용합니다. 예를 들어 housing-data-feature-enginnering이라는 작업을 생성한 경우 파이프라인의 이름은 canvas-data-prep-housing-data-feature-engineering입니다.

  4. 작업이 포함된 파이프라인을 선택합니다.

  5. 파이프라인의 상태를 확인합니다. 성공 상태인 파이프라인이 처리 작업을 성공적으로 실행했습니다.

처리 작업의 실행을 중지하려면 다음을 수행하세요.

처리 작업의 실행을 중지하려면 일정을 지정하는 이벤트 규칙을 삭제하세요. 이벤트 규칙을 삭제하면 일정과 관련된 모든 작업의 실행이 중지됩니다. 규칙 삭제에 대한 자세한 내용은 Amazon EventBridge 규칙 비활성화 또는 삭제를 참조하십시오.

일정과 관련된 파이프라인도 중지하고 삭제할 수 있습니다. 파이프라인 중지에 대한 자세한 내용은 을 참조하십시오 StopPipelineExecution. 파이프라인 삭제에 대한 자세한 내용은 을 참조하십시오 DeletePipeline.

변환을 전체 데이터셋으로 다시 피팅하고 내보냅니다.

데이터를 가져올 때 Data Wrangler는 데이터 샘플을 사용하여 인코딩을 적용합니다. 데이터 랭글러는 처음 20,000개의 행을 샘플로 사용합니다.

데이터를 사용하여 데이터세트에 열을 만들 수 있는 변환은 다음과 같습니다.

샘플링을 사용하여 데이터를 가져온 경우 이전 변환은 샘플의 데이터만 사용하여 열을 생성합니다. 변환에서 관련 데이터를 모두 사용하지는 않았을 수도 있습니다. 예를 들어 카테고리 인코딩 변환을 사용하는 경우 전체 데이터 세트에 샘플에는 없는 카테고리가 있었을 수 있습니다.

대상 노드나 Jupyter notebook을 사용하여 변환을 전체 데이터 세트에 맞춰 재구성할 수 있습니다. Data Wrangler는 흐름의 변환을 내보낼 때 처리 작업을 생성합니다. SageMaker 처리 작업이 완료될 때 Data Wrangler는 기본 Amazon S3 위치 또는 사용자가 지정한 S3 위치에 다음 파일을 저장합니다.

  • 데이터 세트에 맞게 재구성되는 변환을 지정하는 Data Wrangler 흐름 파일

  • 재구성 변환이 적용된 데이터 세트

SageMaker Canvas에서 데이터 랭글러 흐름 파일을 열고 변환을 다른 데이터세트에 적용할 수 있습니다. 예를 들어 훈련 데이터 세트에 변환을 적용한 경우 Data Wrangler 흐름 파일을 열고 사용하여 추론에 사용되는 데이터 세트에 변환을 적용할 수 있습니다.

다음 절차에 따라 Jupyter notebook을 실행하여 변환을 재구성하고 데이터를 내보냅니다.

Jupyter notebook을 실행하고 변환을 재구성하고 Data Wrangler 흐름을 내보내려면 다음을 수행하세요.

  1. 내보내고자 하는 노드 옆에 있는 +를 선택합니다.

  2. 내보낼 위치를 선택합니다.

  3. 데이터를 내보낼 위치를 선택합니다.

  4. refit_trained_params 객체의 경우 refitTrue로 설정합니다.

  5. output_flow 필드의 경우 재구성 변환이 포함된 출력 흐름 파일의 이름을 지정합니다.

  6. Jupyter notebook을 실행합니다.