재사용 가능한 파이프라인 설계 및 만들기


이 튜토리얼에서는 Cloud Storage에서 데이터를 읽고, 데이터 품질을 검사하고, Cloud Storage에 쓰는 재사용 가능한 파이프라인을 빌드하는 방법을 설명합니다.

재사용 가능한 파이프라인에는 일반 파이프라인 구조가 있지만 HTTP 서버에서 제공한 구성을 기반으로 각 파이프라인 노드의 구성을 변경할 수 있습니다. 예를 들어 정적 파이프라인은 Cloud Storage에서 데이터를 읽고 변환을 적용하고 BigQuery 출력 테이블에 쓸 수 있습니다. 파이프라인이 읽는 Cloud Storage 파일을 기반으로 변환 및 BigQuery 출력 테이블을 변경하는 경우 재사용 가능한 파이프라인을 생성합니다.

목표

  • Cloud Storage Argument Setter 플러그인을 사용하면 파이프라인이 실행될 때마다 다른 입력 값을 읽을 수 있습니다.
  • Cloud Storage Argument Setter 플러그인을 사용하면 파이프라인이 실행될 때마다 다른 품질 검사를 수행할 수 있습니다.
  • 각 실행의 출력 데이터를 Cloud Storage에 씁니다.

비용

이 문서에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.

  • Cloud Data Fusion
  • Cloud Storage

프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요. Google Cloud를 처음 사용하는 사용자는 무료 체험판을 사용할 수 있습니다.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Data Fusion, Cloud Storage, BigQuery, and Dataproc APIs.

    Enable the APIs

  7. Cloud Data Fusion 인스턴스를 만듭니다.

Cloud Data Fusion을 사용할 때는 Google Cloud 콘솔과 별도의 Cloud Data Fusion 웹 인터페이스를 모두 사용합니다. Google Cloud 콘솔에서 Google Cloud 콘솔 프로젝트를 만들고 Cloud Data Fusion 인스턴스를 만들고 삭제할 수 있습니다. Cloud Data Fusion 웹 인터페이스에서는 Pipeline Studio 또는 Wrangler와 같은 다양한 페이지를 통해 Cloud Data Fusion 기능을 사용할 수 있습니다.

  1. Google Cloud 콘솔에서 인스턴스 페이지를 엽니다.

    인스턴스 페이지 열기

  2. 인스턴스의 작업 열에서 인스턴스 보기 링크를 클릭합니다. Cloud Data Fusion 웹 인터페이스가 새 브라우저 탭에서 열립니다.

Cloud Storage Argument Setter 플러그인 배포

  1. Cloud Data Fusion 웹 인터페이스에서 Studio 페이지로 이동합니다.

  2. 작업 메뉴에서 GCS GCS Argument Setter를 클릭합니다.

Cloud Storage에서 읽기

  1. Cloud Data Fusion 웹 인터페이스에서 Studio 페이지로 이동합니다.
  2. 소스를 클릭하고 Cloud Storage를 선택합니다. Cloud Storage 소스의 노드가 파이프라인에 표시됩니다.
  3. Cloud Storage 노드에서 속성을 클릭합니다.

  4. 참조 이름 필드에 이름을 입력합니다.

  5. 경로 필드에 ${input.path}를 입력합니다. 이 매크로는 서로 다른 파이프라인 실행에서 Cloud Storage 입력 경로를 제어합니다.

  6. 오른쪽 출력 스키마 패널에서 오프셋 필드 행의 휴지통 아이콘을 클릭하여 출력 스키마에서 오프셋 필드를 삭제합니다.

  7. 검증을 클릭하고 오류를 해결합니다.

  8. 를 클릭하여 속성 대화상자를 종료합니다.

데이터 변환

  1. Cloud Data Fusion 웹 인터페이스에서 Studio 페이지의 데이터 파이프라인으로 이동합니다.
  2. 변환 드롭다운 메뉴 에서 Wrangler를 선택합니다.
  3. 파이프라인 스튜디오 캔버스에서 화살표를 Cloud Storage 노드에서 Wrangler 노드로 드래그합니다.
  4. 파이프라인에서 Wrangler 노드로 이동하여 속성을 클릭합니다.
  5. 입력 필드 이름body를 입력합니다.
  6. 레시피 필드에 ${directives}를 입력합니다. 이 매크로는 서로 다른 파이프라인 실행에서 변환 로직을 제어합니다.
  7. 검증을 클릭하고 오류를 해결합니다.
  8. 를 클릭하여 속성 대화상자를 종료합니다.

Cloud Storage에 쓰기

  1. Cloud Data Fusion 웹 인터페이스에서 Studio 페이지의 데이터 파이프라인으로 이동합니다.
  2. 싱크 드롭다운 메뉴에서 Cloud Storage를 선택합니다.
  3. 파이프라인 스튜디오 캔버스에서 화살표를 Wrangler 노드에서 방금 추가한 Cloud Storage 노드로 드래그합니다.
  4. 파이프라인의 Cloud Storage 싱크 노드로 이동하여 속성을 클릭합니다.
  5. 참조 이름 필드에 이름을 입력합니다.
  6. 경로 필드에 프로젝트의 Cloud Storage 버킷 경로를 입력합니다. 여기에 파이프라인이 출력 파일을 쓸 수 있습니다. Cloud Storage 버킷이 없으면 버킷을 만듭니다.
  7. 검증을 클릭하고 오류를 해결합니다.
  8. 를 클릭하여 속성 대화상자를 종료합니다.

매크로 인수 설정

  1. Cloud Data Fusion 웹 인터페이스에서 Studio 페이지의 데이터 파이프라인으로 이동합니다.
  2. 조건 및 작업 드롭다운 메뉴에서 GCS Argument Setter를 클릭합니다.
  3. Pipeline Studio 캔버스에서 Cloud Storage Argument Setter 노드에서 Cloud Storage 소스 노드로 화살표를 드래그합니다.
  4. 파이프라인의 Cloud Storage Argument Setter 노드로 이동하여 속성을 클릭합니다.
  5. URL 필드에 다음을 URL을 입력합니다.

    gs://reusable-pipeline-tutorial/args.json
    

    URL은 Cloud Storage에서 다음 콘텐츠가 포함된 공개적으로 액세스 가능한 객체에 해당합니다.

    {
      "arguments" : [
        {
          "name": "input.path",
          "value": "gs://reusable-pipeline-tutorial/user-emails.txt"
        },
        {
          "name": "directives",
          "value": "send-to-error !dq:isEmail(body)"
        }
      ]
    }
    

    두 인수 중 첫 번째는 input.path 값입니다. 경로 gs://reusable-pipeline-tutorial/user-emails.txt는 Cloud Storage에서 다음 테스트 데이터가 포함된 공개적으로 액세스 가능한 객체입니다.

    alice@example.com
    bob@example.com
    craig@invalid@example.com
    

    두 번째 인수는 directives 값입니다. 값 send-to-error !dq:isEmail(body)는 유효한 이메일 주소가 아닌 줄을 모두 필터링하도록 랭글러를 구성합니다. 예를 들어 craig@invalid@example.com이 필터링됩니다.

  6. 유효성 검사를 클릭하여 오류가 없는지 확인합니다.

  7. 를 클릭하여 속성 대화상자를 종료합니다.

파이프라인 배포 및 실행

  1. 파이프라인 스튜디오 페이지의 상단 표시줄에서 파이프라인 이름 지정을 클릭합니다. 파이프라인 이름을 지정하고 저장을 클릭합니다.

  2. 배포를 클릭합니다.

  3. 런타임 인수를 열고 매크로(런타임) input.pathdirectives 인수를 보려면 실행 옆에 있는 드롭다운을 클릭합니다.

    값 필드를 비워두면 파이프라인의 Cloud Storage Argument Setter 노드가 런타임 중에 이러한 인수 값을 설정한다는 것을 Cloud Data Fusion에 알리게 됩니다.

  4. 실행을 클릭합니다.

삭제

이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.

튜토리얼을 마쳤으면 리소스가 할당량을 차지하지 않고 이후에 요금이 청구되지 않도록 Google Cloud에 만든 리소스를 삭제합니다. 다음 섹션은 이러한 리소스를 삭제하거나 사용 중지하는 방법을 설명합니다.

Cloud Data Fusion 인스턴스 삭제

안내에 따라 Cloud Data Fusion 인스턴스를 삭제합니다.

프로젝트 삭제

비용이 청구되지 않도록 하는 가장 쉬운 방법은 튜토리얼에서 만든 프로젝트를 삭제하는 것입니다.

프로젝트를 삭제하는 방법은 다음과 같습니다.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

다음 단계