빠른 시작: 자바 및 Apache Maven 사용

이 페이지에서는 Google Cloud Platform 프로젝트를 설정하고, Apache Beam SDK로 Maven 프로젝트를 만들고, Cloud Dataflow 서비스에서 예제 파이프라인을 실행하는 방법을 보여줍니다.

시작하기 전에

  1. Google 계정에 로그인합니다.

    아직 계정이 없으면 새 계정을 등록하세요.

  2. Google Cloud Platform 프로젝트를 선택하거나 만듭니다.

    리소스 관리 페이지로 이동

  3. Google Cloud Platform 프로젝트에 결제가 사용 설정되어 있는지 확인하세요.

    결제 사용 설정 방법 알아보기

  4. Cloud Dataflow, Compute Engine, Stackdriver Logging, Google Cloud Storage, Google Cloud Storage JSON, BigQuery, Cloud Pub/Sub, Cloud Datastore, and Cloud Resource Manager APIs를 사용 설정합니다.

    APIs 사용 설정

  5. 인증 설정:
    1. GCP Console에서 서비스 계정 키 만들기 페이지로 이동합니다.

      서비스 계정 키 만들기 페이지로 이동
    2. 서비스 계정 목록에서 새 서비스 계정을 선택합니다.
    3. 서비스 계정 이름 필드에 이름을 입력합니다.
    4. 역할 목록에서 프로젝트 > 소유자를 선택합니다.

      참고: 역할 필드가 리소스에 액세스할 수 있도록 서비스 계정을 승인합니다. 나중에 GCP Console을 사용하여 이 필드를 보고 변경할 수 있습니다. 프로덕션 애플리케이션을 개발하는 경우 프로젝트 > 소유자보다 세부적인 권한을 지정합니다. 자세한 내용은 서비스 계정에 역할 부여를 참조하세요.
    5. 만들기를 클릭합니다. 키가 포함된 JSON 파일이 컴퓨터에 다운로드됩니다.
  6. 환경 변수 GOOGLE_APPLICATION_CREDENTIALS를 서비스 계정 키가 포함된 JSON 파일의 파일 경로로 설정합니다. 이 변수는 현재 셸 세션에만 적용되므로, 새 세션을 열 경우, 변수를 다시 설정합니다.

  7. Cloud Storage 버킷을 만듭니다.
    1. GCP Console에서 Cloud Storage 브라우저로 이동합니다.

      Cloud Storage 브라우저로 이동

    2. 버킷 만들기를 클릭합니다.
    3. 버킷 만들기 대화상자에서 다음 속성을 지정합니다.
      • 이름: 고유한 버킷 이름. 버킷 네임스페이스는 전역적이며 전체 공개로 표시되기 때문에 버킷 이름에 민감한 정보를 포함하면 안 됩니다.
      • 저장소 등급: 다중 지역
      • 버킷 데이터가 저장되는 위치
    4. 만들기를 클릭합니다.
  8. JDK(Java Development Kit) 버전 8을 다운로드하고 설치합니다. JAVA_HOME 환경 변수가 설정되어 있고 JDK 설치를 가리키는지 확인합니다.
  9. 사용 중인 특정 운영체제의 Maven 설치 가이드를 따라 Apache Maven을 다운로드하고 설치합니다.

WordCount 코드 가져오기

Maven Archetype Plugin을 사용하여 Apache Beam SDK의 WordCount 예제를 포함한 Maven 프로젝트를 만듭니다. 다음과 같이 셸 또는 터미널에서 mvn archetype:generate 명령어를 실행합니다.

$ mvn archetype:generate \
      -DarchetypeGroupId=org.apache.beam \
      -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
      -DarchetypeVersion=2.13.0 \
      -DgroupId=org.example \
      -DartifactId=word-count-beam \
      -Dversion="0.1" \
      -Dpackage=org.apache.beam.examples \
      -DinteractiveMode=false

명령어를 실행하면 현재 디렉토리 아래에 word-count-beam라는 새 디렉토리가 표시됩니다. word-count-beam에는 간단한 pom.xml 파일 및 텍스트 파일의 단어 수를 집계하는 일련의 예제 파이프라인이 포함되어 있습니다.

$ cd word-count-beam/

$ ls
pom.xml	src

$ ls src/main/java/org/apache/beam/examples/
DebuggingWordCount.java	WindowedWordCount.java	common
MinimalWordCount.java	WordCount.java

이 예제에 사용된 Apache Beam 개념에 대한 자세한 안내는 WordCount 예시 둘러보기를 참조하세요. 여기에서는 WordCount.java를 실행하는 데에만 초점을 맞춥니다.

WordCount를 로컬에서 실행

word-count-beam 디렉토리에서 다음 명령어를 실행하여 WordCount를 로컬에서 실행합니다.

$ mvn compile exec:java \
      -Dexec.mainClass=org.apache.beam.examples.WordCount \
      -Dexec.args="--output=./output/"

Cloud Dataflow 서비스에서 WordCount 실행

Cloud Dataflow 서비스에서 WordCount를 빌드하고 실행합니다.

  • --project 인수의 경우 만든 GCP 프로젝트에 프로젝트 ID를 지정합니다.
  • --stagingLocation--output 인수에 대해 경로의 일부로 만든 Cloud Storage 버킷의 이름을 지정합니다.

$ mvn -Pdataflow-runner compile exec:java \
      -Dexec.mainClass=org.apache.beam.examples.WordCount \
      -Dexec.args="--project=<PROJECT_ID> \
      --stagingLocation=gs://<STORAGE_BUCKET>/staging/ \
      --output=gs://<STORAGE_BUCKET>/output \
      --runner=DataflowRunner"

결과 보기

  1. Cloud Dataflow 웹 UI를 엽니다.
    Cloud Dataflow 웹 UI로 이동

    초기 상태실행 중wordcount 작업이 나타난 후 성공으로 상태가 바뀝니다.

    Cloud Dataflow 작업
  2. Google Cloud Platform 콘솔에서 Cloud Storage 브라우저를 엽니다.
    Cloud Storage 브라우저로 이동

    버킷에서 작업을 통해 만든 출력 파일 및 준비 파일을 확인할 수 있습니다.

    Cloud Storage 버킷

삭제

이 빠른 시작에서 사용한 리소스 비용이 GCP 계정에 청구되지 않도록 다음을 수행합니다.

  1. GCP Console에서 Cloud Storage 브라우저로 이동합니다.

    Cloud Storage 브라우저로 이동

  2. 삭제할 버킷 옆의 체크박스를 클릭합니다.
  3. 페이지 상단의 삭제 버튼을 클릭하여 버킷을 삭제합니다.

다음 과정

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.