Google에서 제공하는 템플릿

Google은 오픈소스 Cloud Dataflow 템플릿 모음을 제공합니다. 다음 템플릿을 사용할 수 있습니다.

WordCount

WordCount 템플릿은 Cloud Storage에서 텍스트를 읽고, 텍스트 줄을 개별 단어로 토큰화하고, 각 단어의 출현 빈도를 세는 일괄 파이프라인입니다. WordCount에 대한 자세한 내용은 WordCount 파이프라인 예를 참조하세요.

템플릿 매개변수

매개변수 설명
inputFile Cloud Storage 입력 파일 경로입니다.
output Cloud Storage 출력 파일 경로 및 프리픽스입니다.

WordCount 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 WordCount 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/latest/Word_Count

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Word_Count \
    --parameters \
inputFile=gs://dataflow-samples/shakespeare/kinglear.txt,\
output=gs://YOUR_BUCKET_NAME/output/my_output

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/latest/Word_Count

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Word_Count
{
    "jobName": "JOB_NAME",
    "parameters": {
       "inputFile" : "gs://dataflow-samples/shakespeare/kinglear.txt",
       "output": "gs://YOUR_BUCKET_NAME/output/my_output"
    },
    "environment": { "zone": "us-central1-f" }
}

Cloud Bigtable to Cloud Storage AvroFile

Cloud Bigtable to Cloud Storage AvroFile 템플릿은 Cloud Bigtable 테이블에서 데이터를 읽고 Cloud Storage 버킷에 Avro 형식으로 해당 데이터를 쓰는 파이프라인입니다. 이 템플릿은 데이터를 Cloud Bigtable에서 Cloud Storage로 이동하는 간편한 솔루션으로 사용할 수 있습니다.

이 파이프라인의 요구사항:

  • Cloud Bigtable 테이블이 있어야 합니다.
  • 파이프라인을 실행하기 전에 Cloud Storage 출력 버킷이 있어야 합니다.

템플릿 매개변수

매개변수 설명
bigtableProjectId 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID입니다.
bigtableInstanceId 테이블이 포함된 Cloud Bigtable 인스턴스의 ID입니다.
bigtableTableId 내보낼 Cloud Bigtable 테이블의 ID입니다.
outputDirectory 데이터를 작성해야 하는 Cloud Storage 경로입니다. 예를 들면 gs://mybucket/somefolder입니다.
filenamePrefix Avro 파일 이름의 프리픽스입니다. 예를 들면 output-입니다.

Cloud Bigtable to Cloud Storage AvroFile 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 the Cloud Bigtable to Cloud Storage Avro file template 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_AvroFile

REST API 사용에 설명된 대로 이 요청 예시를 사용하세요. 이 요청에는 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • [PROJECT_ID]를 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID로 바꿉니다.
  • [INSTANCE_ID]를 테이블이 포함된 Cloud Bigtable 인스턴스의 ID로 바꿉니다.
  • [TABLE_ID]를 내보낼 Cloud Bigtable 테이블의 ID로 바꿉니다.
  • [OUTPUT_DIRECTORY]를 데이터를 작성해야 하는 Cloud Storage 경로로 바꿉니다. 예를 들면 gs://mybucket/somefolder입니다.
  • [FILENAME_PREFIX]를 AvroFile 파일 이름의 프리픽스로 바꿉니다. 예를 들면 output-입니다.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_AvroFile \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],outputDirectory=[OUTPUT_DIRECTORY],filenamePrefix=[FILENAME_PREFIX]

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_AvroFile

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

REST API 사용에 설명된 대로 이 요청 예시를 사용하세요. 이 요청에는 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • [PROJECT_ID]를 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID로 바꿉니다.
  • [INSTANCE_ID]를 테이블이 포함된 Cloud Bigtable 인스턴스의 ID로 바꿉니다.
  • [TABLE_ID]를 내보낼 Cloud Bigtable 테이블의 ID로 바꿉니다.
  • [OUTPUT_DIRECTORY]를 데이터를 작성해야 하는 Cloud Storage 경로로 바꿉니다. 예를 들면 gs://mybucket/somefolder입니다.
  • [FILENAME_PREFIX]를 AvroFile 파일 이름의 프리픽스로 바꿉니다. 예를 들면 output-입니다.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_AvroFile
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "outputDirectory": "[OUTPUT_DIRECTORY]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Bigtable to Cloud Storage SequenceFile

Cloud Bigtable to Cloud Storage SequenceFile 템플릿은 Cloud Bigtable 테이블에서 데이터를 읽고 Cloud Storage 버킷에 SequenceFile 형식으로 해당 데이터를 쓰는 파이프라인입니다. 이 템플릿은 데이터를 Cloud Bigtable에서 Cloud Storage로 이동하는 간편한 솔루션으로 사용할 수 있습니다.

이 파이프라인의 요구사항:

  • Cloud Bigtable 테이블이 있어야 합니다.
  • 파이프라인을 실행하기 전에 Cloud Storage 출력 버킷이 있어야 합니다.

템플릿 매개변수

매개변수 설명
bigtableProject 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID입니다.
bigtableInstanceId 테이블이 포함된 Cloud Bigtable 인스턴스의 ID입니다.
bigtableTableId 내보낼 Cloud Bigtable 테이블의 ID입니다.
bigtableAppProfileId 내보내기에 사용될 Cloud Bigtable 애플리케이션 프로필의 ID입니다. 앱 프로필을 지정하지 않으면 Cloud Bigtable에서는 인스턴스의 기본 앱 프로필을 사용합니다.
destinationPath 데이터를 작성해야 하는 Cloud Storage 경로입니다. 예를 들면 gs://mybucket/somefolder입니다.
filenamePrefix SequenceFile 파일 이름의 프리픽스입니다. 예를 들면 output-입니다.

Cloud Bigtable to Cloud Storage SequenceFile 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Bigtable to Cloud Storage SequenceFile 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile

REST API 사용에 설명된 대로 이 요청 예시를 사용하세요. 이 요청에는 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • [PROJECT_ID]를 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID로 바꿉니다.
  • [INSTANCE_ID]를 테이블이 포함된 Cloud Bigtable 인스턴스의 ID로 바꿉니다.
  • [TABLE_ID]를 내보낼 Cloud Bigtable 테이블의 ID로 바꿉니다.
  • [APPLICATION_PROFILE_ID]를 내보내기에 사용될 Cloud Bigtable 애플리케이션 프로필의 ID로 바꿉니다.
  • [DESTINATION_PATH]를 데이터를 작성해야 하는 Cloud Storage 경로로 바꿉니다. 예를 들면 gs://mybucket/somefolder입니다.
  • [FILENAME_PREFIX]를 SequenceFile 파일 이름의 프리픽스로 바꿉니다. 예를 들면 output-입니다.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_SequenceFile \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],destinationPath=[DESTINATION_PATH],filenamePrefix=[FILENAME_PREFIX]

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_Bigtable_to_GCS_SequenceFile

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

REST API 사용에 설명된 대로 이 요청 예시를 사용하세요. 이 요청에는 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • [PROJECT_ID]를 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID로 바꿉니다.
  • [INSTANCE_ID]를 테이블이 포함된 Cloud Bigtable 인스턴스의 ID로 바꿉니다.
  • [TABLE_ID]를 내보낼 Cloud Bigtable 테이블의 ID로 바꿉니다.
  • [APPLICATION_PROFILE_ID]를 내보내기에 사용될 Cloud Bigtable 애플리케이션 프로필의 ID로 바꿉니다.
  • [DESTINATION_PATH]를 데이터를 작성해야 하는 Cloud Storage 경로로 바꿉니다. 예를 들면 gs://mybucket/somefolder입니다.
  • [FILENAME_PREFIX]를 SequenceFile 파일 이름의 프리픽스로 바꿉니다. 예를 들면 output-입니다.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_Bigtable_to_GCS_SequenceFile
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "destinationPath": "[DESTINATION_PATH]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub to BigQuery

Cloud Pub/Sub to BigQuery 템플릿은 Cloud Pub/Sub 주제에서 JSON 형식의 메시지를 읽고 BigQuery 테이블에 쓰는 스트리밍 파이프라인입니다. 이 템플릿은 Cloud Pub/Sub 데이터를 BigQuery로 이동하는 간편한 솔루션으로 사용할 수 있습니다. 이 템플릿은 Cloud Pub/Sub에서 JSON 형식의 메시지를 읽고 BigQuery 요소로 변환합니다.

파이프라인 요구사항

  • Cloud Pub/Sub 메시지가 여기에 설명된 대로 JSON 형식이어야 합니다. 예를 들어 {"k1":"v1", "k2":"v2"} 형식으로 된 메시지는 k1k2라는 두 개의 열 그리고 문자열 데이터 유형으로 BigQuery 테이블에 삽입될 수 있습니다.
  • 파이프라인을 실행하기 전에 출력 테이블이 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputTopic 읽을 Cloud Pub/Sub 입력 주제로, projects/<project>/topics/<topic> 형식입니다.
outputTableSpec BigQuery 출력 테이블 위치로, <my-project>:<my-dataset>.<my-table> 형식입니다.

Cloud Pub/Sub to BigQuery 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Pub/Sub to BigQuery 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/PubSub_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_DATASET를 BigQuery 데이터세트로 바꾸고, YOUR_TABLE_NAME을 BigQuery 테이블 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/PubSub_to_BigQuery \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputTableSpec=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/PubSub_to_BigQuery

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_DATASET를 BigQuery 데이터세트로 바꾸고, YOUR_TABLE_NAME을 BigQuery 테이블 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/PubSub_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "outputTableSpec": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Java Database Connectivity (JDBC) to BigQuery

JDBC to BigQuery 템플릿은 관계형 데이터베이스 테이블의 데이터를 기존 BigQuery 테이블로 복사하는 일괄 파이프라인입니다. 이 파이프라인은 JDBC를 사용하여 관계형 데이터베이스에 연결합니다. 이 템플릿을 통해 사용 가능한 JDBC 드라이버가 있는 관계형 데이터베이스의 데이터를 BigQuery로 복사할 수 있습니다.

이 파이프라인의 요구사항:

  • 관계형 데이터베이스용 JDBC 드라이버를 사용할 수 있어야 합니다.
  • 파이프라인을 실행하기 전에 BigQuery 테이블이 있어야 합니다.
  • BigQuery 테이블에 호환 가능한 스키마가 있어야 합니다.
  • Cloud Dataflow가 실행되는 서브넷에서 관계형 데이터베이스에 액세스할 수 있어야 합니다.

템플릿 매개변수

매개변수 설명
driverJars 쉼표로 구분된 드라이버 jar 목록입니다. 예를 들면 gs://<my-bucket>/driver_jar1.jar,gs://<my-bucket>/driver_jar2.jar입니다.
driverClassName JDBC 드라이버 클래스 이름입니다. 예를 들면 com.mysql.jdbc.Driver입니다.
connectionURL JDBC 연결 URL 문자열입니다. 예를 들면 jdbc:mysql://some-host:3306/sampledb입니다.
query 데이터를 추출하기 위해 소스에서 실행될 쿼리입니다. 예를 들면 select * from sampledb.sample_table입니다.
outputTable BigQuery 출력 테이블 위치로, <my-project>:<my-dataset>.<my-table> 형식입니다.
bigQueryLoadingTemporaryDirectory BigQuery 로딩 프로세스를 위한 임시 디렉토리입니다. 예를 들면 gs://<my-bucket>/my-files/temp_dir입니다.
connectionProperties [선택사항] JDBC 연결에 사용할 속성 문자열입니다. 예를 들면 unicode=true&characterEncoding=UTF-8입니다.
username [선택사항] JDBC 연결에 사용할 사용자 이름입니다.
password [선택사항] JDBC 연결에 사용할 비밀번호입니다.

JDBC to BigQuery 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 JDBC to BigQuery 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • DRIVER_PATHS를 JDBC 드라이버의 쉼표로 구분된 Cloud Storage 경로로 바꿉니다.
  • DRIVER_CLASS_NAME을 드라이브 클래스 이름으로 바꿉니다.
  • JDBC_CONNECTION_URL을 JDBC 연결 URL로 바꿉니다.
  • SOURCE_SQL_QUERY를 소스 데이터베이스에서 실행될 SQL 쿼리로 바꿉니다.
  • YOUR_DATASET를 BigQuery 데이터세트로 바꾸고, YOUR_TABLE_NAME을 BigQuery 테이블 이름으로 바꿉니다.
  • PATH_TO_TEMP_DIR_ON_GCS를 임시 디렉토리의 Cloud Storage 경로로 바꿉니다.
  • 필요한 경우 CONNECTION_PROPERTIES를 JDBC 연결 속성으로 바꿉니다.
  • CONNECTION_USERNAME을 JDBC 연결 사용자 이름으로 바꿉니다.
  • CONNECTION_PASSWORD를 JDBC 연결 비밀번호로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Jdbc_to_BigQuery \
    --parameters \
driverJars=DRIVER_PATHS,\
driverClassName=DRIVER_CLASS_NAME,\
connectionURL=JDBC_CONNECTION_URL,\
query=SOURCE_SQL_QUERY,\
outputTable=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME,
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\
connectionProperties=CONNECTION_PROPERTIES,\
username=CONNECTION_USERNAME,\
password=CONNECTION_PASSWORD

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • DRIVER_PATHS를 JDBC 드라이버의 쉼표로 구분된 Cloud Storage 경로로 바꿉니다.
  • DRIVER_CLASS_NAME을 드라이브 클래스 이름으로 바꿉니다.
  • JDBC_CONNECTION_URL을 JDBC 연결 URL로 바꿉니다.
  • SOURCE_SQL_QUERY를 소스 데이터베이스에서 실행될 SQL 쿼리로 바꿉니다.
  • YOUR_DATASET를 BigQuery 데이터세트로 바꾸고, YOUR_TABLE_NAME을 BigQuery 테이블 이름으로 바꿉니다.
  • PATH_TO_TEMP_DIR_ON_GCS를 임시 디렉토리의 Cloud Storage 경로로 바꿉니다.
  • 필요한 경우 CONNECTION_PROPERTIES를 JDBC 연결 속성으로 바꿉니다.
  • CONNECTION_USERNAME을 JDBC 연결 사용자 이름으로 바꿉니다.
  • CONNECTION_PASSWORD를 JDBC 연결 비밀번호로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Jdbc_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "driverJars": "DRIVER_PATHS",
       "driverClassName": "DRIVER_CLASS_NAME",
       "connectionURL": "JDBC_CONNECTION_URL",
       "query": "SOURCE_SQL_QUERY",
       "outputTable": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS",
       "connectionProperties": "CONNECTION_PROPERTIES",
       "username": "CONNECTION_USERNAME",
       "password": "CONNECTION_PASSWORD"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text to Cloud Pub/Sub(일괄)

이 템플릿은 Cloud Storage에 저장된 텍스트 파일에서 레코드를 읽고 Cloud Pub/Sub 주제에 게시하는 일괄 파이프라인을 만듭니다. 템플릿을 사용하면 JSON 레코드를 포함하는 줄바꿈 구분 파일이나 CSV 파일의 레코드를 Cloud Pub/Sub 주제에 게시하여 실시간으로 처리할 수 있습니다. 이 템플릿을 사용하여 데이터를 Cloud Pub/Sub에 재생할 수 있습니다.

이 템플릿은 개별 레코드에 타임스탬프를 설정하지 않기 때문에 이벤트 시간이 실행 중 게시 시간과 일치하게 됩니다. 파이프라인을 처리하기 위해 정확한 이벤트 시간이 필요한 경우에는 이 파이프라인을 사용해서는 안 됩니다.

파이프라인 요구사항

  • 읽을 파일이 줄바꿈으로 구분되는 JSON 또는 CSV 형식이어야 합니다. 소스 파일에서 여러 줄에 걸쳐 있는 레코드는 다운스트림 문제를 일으킬 수 있습니다. 파일 안의 각 줄이 Cloud Pub/Sub에 메시지로 게시되기 때문입니다.
  • 실행하기 전에 Cloud Pub/Sub 주제가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputFilePattern 읽을 입력 파일 패턴입니다. 예를 들면 gs://bucket-name/files/*.json입니다.
outputTopic 작성할 Cloud Pub/Sub 입력 주제입니다. 이름은 projects/<project-id>/topics/<topic-name> 형식이어야 합니다.

Cloud Storage Text to Cloud Pub/Sub(일괄) 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Storage Text to Cloud Pub/Sub(일괄) 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/files/*.json,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/files/*.json",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text to Cloud Pub/Sub(스트리밍)

이 템플릿은 Cloud Storage에 업로드된 새 텍스트 파일을 지속적으로 폴링하고, 각 파일을 한 줄씩 읽고, Cloud Pub/Sub 주제에 문자열을 게시하는 스트리밍 파이프라인을 만듭니다. 이 템플릿은 JSON 레코드를 포함하는 줄바꿈 구분 파일 또는 CSV 파일의 레코드를 Cloud Pub/Sub 주제에 게시하여 실시간으로 처리합니다. 이 템플릿을 사용하여 데이터를 Cloud Pub/Sub에 재생할 수 있습니다.

현재 폴링 간격은 고정되어 있으며 10초로 설정되어 있습니다. 이 템플릿은 개별 레코드에 타임스탬프를 설정하지 않기 때문에 이벤트 시간이 실행 중 게시 시간과 일치하게 됩니다. 파이프라인을 처리하기 위해 정확한 이벤트 시간이 필요한 경우에는 이 파이프라인을 사용해서는 안 됩니다.

이 파이프라인의 요구사항:

  • 입력 파일은 줄바꿈으로 구분되는 JSON 또는 CSV 형식이어야 합니다. 소스 파일에서 여러 줄에 걸쳐 있는 레코드는 다운스트림 문제를 일으킬 수 있습니다. 파일 안의 각 줄이 Cloud Pub/Sub에 메시지로 게시되기 때문입니다.
  • 실행하기 전에 Cloud Pub/Sub 주제가 있어야 합니다.
  • 파이프라인은 무기한으로 실행되며 수동으로 종료해야 합니다.

템플릿 매개변수

매개변수 설명
inputFilePattern 읽을 입력 파일 패턴입니다. 예를 들면 gs://bucket-name/files/*.json입니다.
outputTopic 작성할 Cloud Pub/Sub 입력 주제입니다. 이름은 projects/<project-id>/topics/<topic-name> 형식이어야 합니다.

Cloud Storage Text to Cloud Pub/Sub(스트리밍) 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Storage Text to Cloud Pub/Sub(스트링밍) 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_Cloud_PubSub

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/files/*.json,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_Cloud_PubSub

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Stream_GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/files/*.json",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub to Cloud Storage Text

Cloud Pub/Sub to Cloud Storage Text 템플릿은 Cloud Pub/Sub에서 레코드를 읽고 텍스트 형식으로 된 일련의 Cloud Storage 파일로 저장하는 스트리밍 파이프라인입니다. 나중에 사용하기 위해 Cloud Pub/Sub에 데이터를 빠르게 저장하는 수단으로 템플릿을 사용할 수 있습니다. 기본적으로 템플릿은 5분마다 새 파일을 생성합니다.

파이프라인 요구사항

  • 실행하기 전에 Cloud Pub/Sub 주제가 있어야 합니다.
  • 주제에 게시되는 메시지는 텍스트 형식이어야 합니다.
  • 주제에 게시되는 메시지에는 줄바꿈을 사용할 수 없습니다. 각 Cloud Pub/Sub 메시지는 출력 파일에 한 줄로 저장됩니다.

템플릿 매개변수

매개변수 설명
inputTopic 이 Cloud Pub/Sub 주제로부터 입력을 읽습니다. 주제 이름은 projects/<project-id>/topics/<topic-name> 형식이어야 합니다.
outputDirectory 출력 파일을 쓰기 위한 경로 및 파일 이름 프리픽스입니다. 예를 들면 gs://bucket-name/path/입니다. 이 값은 슬래시로 끝나야 합니다.
outputFilenamePrefix 윈도우 설정된 각 파일에 넣을 프리픽스입니다. 예를 들면 output-입니다.
outputFilenameSuffix 윈도우 설정된 각 파일에 넣을 서픽스입니다. 일반적으로 .txt 또는 .csv와 같은 파일 확장자입니다.
outputShardTemplate 분할 템플릿은 윈도우 설정된 각 파일의 동적 부분을 정의합니다. 기본적으로, 파이프라인은 각 윈도우 내에서 단일 분할을 사용하여 파일 시스템에 출력합니다. 따라서 모든 파일이 윈도우별로 한 파일 안에 들어갑니다. outputShardTemplate의 기본값은 W-P-SS-of-NN입니다. 여기서 W는 윈도우 날짜 범위, P는 창 정보, S는 분할 번호, N은 분할 개수입니다. 단일 파일의 경우에는 outputShardTemplateSS-of-NN 부분이 00-of-01이 됩니다.

Cloud Pub/Sub to Cloud Storage Text 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Pub/Sub to Cloud Storage Text 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_GCS_Text

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_GCS_Text \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputDirectory=gs://YOUR_BUCKET_NAME/output/,\
outputFilenamePrefix=output-,\
outputFilenameSuffix=.txt

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_GCS_Text

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
       "outputDirectory": "gs://YOUR_BUCKET_NAME/output/",
       "outputFilenamePrefix": "output-",
       "outputFilenameSuffix": ".txt",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub to Cloud Pub/Sub

Cloud Pub/Sub to Cloud Pub/Sub 템플릿은 Cloud Pub/Sub 구독에서 메시지를 읽고 다른 Cloud Pub/Sub 주제에 해당 메시지를 쓰는 스트리밍 파이프라인입니다. 이 파이프라인은 선택적 메시지 속성 키 및 Cloud Pub/Sub 주제에 써야 하는 메시지를 필터링하는 데 사용할 수 있는 값을 허용합니다. 이 템플릿을 사용하면 선택적 메시지 필터를 사용하여 Cloud Pub/Sub 구독에서 다른 Cloud Pub/Sub 주제로 메시지를 복사할 수 있습니다.

이 파이프라인의 요구사항:

  • 실행하기 전에 소스 Cloud Pub/Sub 구독이 있어야 합니다.
  • 실행하기 전에 대상 Cloud Pub/Sub 주제가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputSubscription 입력을 읽을 Cloud Pub/Sub 구독입니다. 예를 들면 projects/<project-id>/subscriptions/<subscription-name>입니다.
outputTopic 출력을 작성할 Cloud Pub/Sub 주제입니다. 예를 들면 projects/<project-id>/topics/<topic-name>입니다.
filterKey [선택사항] 속성 키를 기반으로 하는 필터 이벤트입니다. filterKey가 지정되지 않은 경우 필터가 적용되지 않습니다.
filterValue [선택사항] filterKey가 제공된 경우에 사용하는 필터 속성 값입니다. 기본적으로 null인 filterValue가 사용됩니다.

Cloud Pub/Sub to Cloud Pub/Sub 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Pub/Sub to Cloud Pub/Sub 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Cloud_PubSub

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_SUBSCRIPTION_NAME을 Cloud Pub/Sub 구독 이름으로 바꿉니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • FILTER_KEY를 메시지를 필터링할 속성 키 이름으로 바꿉니다.
  • FILTER_VALUE를 속성 값으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_Cloud_PubSub \
    --parameters \
inputSubscription=projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
filterKey=FILTER_KEY,\
filterValue=FILTER_VALUE

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Cloud_PubSub

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_SUBSCRIPTION_NAME을 Cloud Pub/Sub 구독 이름으로 바꿉니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • FILTER_KEY를 메시지를 필터링할 속성 키 이름으로 바꿉니다.
  • FILTER_VALUE를 속성 값으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputSubscription": "projects/YOUR_PROJECT_ID/subscriptions/YOUR_SUBSCRIPTION_NAME",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "filterKey": "FILTER_KEY",
       "filterValue": "FILTER_VALUE"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Pub/Sub to Cloud Storage Avro

Cloud Pub/Sub to Cloud Storage Avro 템플릿은 Cloud Pub/Sub 주제에서 데이터를 읽고 Avro 파일을 지정된 Cloud Storage 버킷에 쓰는 스트리밍 파이프라인입니다. 이 파이프라인은 기간이 설정된 쓰기를 수행하는 데 사용하도록 선택적으로 사용자가 제공한 윈도우 기간을 지원합니다.

이 파이프라인의 요구사항:

  • 파이프라인을 실행하기 전에 입력 Cloud Pub/Sub 주제가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputTopic 메시지 소비를 위해 구독할 Cloud Pub/Sub 주제입니다. 주제 이름은 projects/<project-id>/topics/<topic-name> 형식이어야 합니다.
outputDirectory 출력 Avro 파일이 보관처리되는 출력 디렉토리입니다. 마지막에 /를 추가하세요. 예를 들면 gs://example-bucket/example-directory/입니다.
avroTempDirectory 임시 Avro 파일의 디렉토리입니다. 마지막에 /를 추가하세요. 예를 들면 gs://example-bucket/example-directory/입니다.
outputFilenamePrefix [선택사항] Avro 파일의 출력 파일 이름 프리픽스입니다.
outputFilenameSuffix [선택사항] Avro 파일의 출력 파일 이름 서픽스입니다.
outputShardTemplate [선택사항] 출력 파일의 분할 템플릿입니다. 문자 'S' 또는 'N'의 반복 시퀀스로 지정됩니다(예: SSS-NNN). 이는 각각 분할 번호 또는 분할 개수로 바뀝니다. 이 매개변수가 지정되지 않은 경우 기본 템플릿 형식은 'W-P-SS-of-NN'입니다.
numShards [선택사항] 쓰는 동안 생성된 출력 분할의 최대 개수입니다.기본 최대 분할 개수는 1입니다.
windowDuration [선택사항] 데이터를 쓸 윈도우 기간입니다. 기본값은 5m입니다. 허용된 형식은 Ns(초, 예: 5s), Nm(분, 예: 12m), Nh(시,예: 2h)입니다.

Cloud Pub/Sub to Cloud Storage Avro 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Pub/Sub to Cloud Storage Avro 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Avro

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • FILENAME_PREFIX를 선호하는 출력 파일 이름 프리픽스로 바꿉니다.
  • FILENAME_SUFFIX를 선호하는 출력 파일 이름 서픽스로 바꿉니다.
  • SHARD_TEMPLATE을 선호하는 출력 공유 템플릿으로 바꿉니다.
  • NUM_SHARDS를 출력 분할 개수로 바꿉니다.
  • WINDOW_DURATION을 출력 윈도우 기간으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Cloud_PubSub_to_Avro \
    --parameters \
inputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME,\
outputDirectory=gs://YOUR_BUCKET_NAME/output/,\
avroTempDirectory=gs://YOUR_BUCKET_NAME/temp/,\
outputFilenamePrefix=FILENAME_PREFIX,\
outputFilenameSuffix=FILENAME_SUFFIX,\
outputShardTemplate=SHARD_TEMPLATE,\
numShards=NUM_SHARDS,\
windowDuration=WINDOW_DURATION

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_PubSub_to_Avro

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_TOPIC_NAME을 Cloud Pub/Sub 주제 이름으로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • FILENAME_PREFIX를 선호하는 출력 파일 이름 프리픽스로 바꿉니다.
  • FILENAME_SUFFIX를 선호하는 출력 파일 이름 서픽스로 바꿉니다.
  • SHARD_TEMPLATE을 선호하는 출력 공유 템플릿으로 바꿉니다.
  • NUM_SHARDS를 출력 분할 개수로 바꿉니다.
  • WINDOW_DURATION을 출력 윈도우 기간으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Cloud_PubSub_to_Avro
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/output/",
       "avroTempDirectory": "gs://YOUR_BUCKET_NAME/temp/",
       "outputFilenamePrefix": "FILENAME_PREFIX",
       "outputFilenameSuffix": "FILENAME_SUFFIX",
       "outputShardTemplate": "SHARD_TEMPLATE",
       "numShards": "NUM_SHARDS",
       "windowDuration": "WINDOW_DURATION"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Datastore to Cloud Storage Text

Cloud Datastore to Cloud Storage Text 템플릿은 Cloud Datastore 항목을 읽고 Cloud Storage에 텍스트 파일로 쓰는 일괄 파이프라인입니다. 각 항목을 JSON 문자열로 처리하기 위한 함수를 입력할 수 있습니다. 이러한 함수를 입력하지 않으면 출력 파일에 있는 모든 줄이 JSON 직렬화된 항목이 됩니다.

파이프라인 요구사항

실행하기 전에 프로젝트에서 Cloud Datastore를 설정해야 합니다.

템플릿 매개변수

매개변수 설명
datastoreReadGqlQuery 가져올 항목을 지정하는 GQL 쿼리입니다. 예를 들면 SELECT * FROM MyKind입니다.
datastoreReadProjectId 데이터를 읽을 Cloud Datastore 인스턴스의 GCP 프로젝트 ID입니다.
datastoreReadNamespace 요청한 항목의 네임스페이스입니다. 기본 네임스페이스를 사용하려면 이 매개변수를 공백으로 둡니다.
javascriptTextTransformGcsPath 모든 자바스크립트 코드를 포함한 Cloud Storage 경로입니다. 예를 들면 gs://mybucket/mytransforms/*.js입니다. 함수를 입력하지 않으려면 이 매개변수를 공백으로 둡니다.
javascriptTextTransformFunctionName 호출할 자바스크립트 함수의 이름입니다. 예를 들어 자바스크립트 함수가 function myTransform(inJson) { ...dostuff...}이면 함수 이름은 myTransform입니다. 함수를 입력하지 않으려면 이 매개변수를 공백으로 둡니다.
textWritePrefix 데이터를 작성해야 하는 위치를 지정하기 위한 Cloud Storage 경로 프리픽스입니다. 예를 들면 gs://mybucket/somefolder/입니다.

Cloud Datastore to Cloud Storage Text 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Datastore to Cloud Storage Text 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • YOUR_DATASTORE_KIND를 Datastore 항목 유형으로 바꿉니다.
  • YOUR_DATASTORE_NAMESPACE를 Datastore 항목의 네임스페이스로 바꿉니다.
  • YOUR_JAVASCRIPT_FUNCTION을 자바스크립트 함수 이름으로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_GCS_Text \
    --parameters \
datastoreReadGqlQuery="SELECT * FROM YOUR_DATASTORE_KIND",\
datastoreReadProjectId=YOUR_PROJECT_ID,\
datastoreReadNamespace=YOUR_DATASTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • YOUR_DATASTORE_KIND를 Datastore 항목 유형으로 바꿉니다.
  • YOUR_DATASTORE_NAMESPACE를 Datastore 항목의 네임스페이스로 바꿉니다.
  • YOUR_JAVASCRIPT_FUNCTION을 자바스크립트 함수 이름으로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "SELECT * FROM YOUR_DATASTORE_KIND"
       "datastoreReadProjectId": "YOUR_PROJECT_ID",
       "datastoreReadNamespace": "YOUR_DATASTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage to BigQuery에서 Cloud DLP를 사용한 데이터 마스킹/토큰화(스트리밍)

Cloud Storage to BigQuery에서 Cloud DLP를 사용한 데이터 마스킹/토큰화 템플릿은 Cloud Storage 버킷에서 csv 파일을 읽고, 익명화를 위해 Cloud Data Loss Prevention(Cloud DLP) API를 호출하고, 익명화된 데이터를 지정된 BigQuery 테이블에 쓰는 스트리밍 파이프라인입니다. 이 템플릿은 Cloud DLP 검사 템플릿 및 Cloud DLP 익명화 템플릿 사용을 지원합니다. 따라서 사용자가 잠재적으로 민감한 정보를 검사하고 식별을 익명화할 수 있을 뿐만 아니라 열을 익명화하도록 지정된 구조화된 데이터를 익명화하며 검사가 필요 없습니다.

이 파이프라인의 요구사항:

  • 토큰화할 입력 데이터가 있어야 합니다.
  • Cloud DLP 템플릿이 있어야 합니다(예: DeidentifyTemplate 및 InspectTemplate). 자세한 내용은 Cloud DLP 템플릿을 참조하세요.
  • BigQuery 데이터세트가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputFilePattern 입력 데이터 레코드를 읽어들일 csv 파일입니다. 와일드 카드 사용도 허용됩니다. 예를 들면 gs://mybucket/my_csv_filename.csv 또는 gs://mybucket/file-*.csv입니다.
dlpProjectId Cloud DLP API 리소스를 소유하는 Cloud DLP 프로젝트 ID입니다. 이 Cloud DLP 프로젝트는 Cloud DLP 템플릿을 소유하는 프로젝트이거나 별도의 프로젝트일 수 있습니다. 예를 들면 my_dlp_api_project입니다.
deidentifyTemplateName API 요청에 사용할 Cloud DLP 익명화 템플릿으로, projects/{template_project_id}/deidentifyTemplates/{deIdTemplateId} 패턴을 사용하여 지정됩니다. 예를 들면 projects/my_project/deidentifyTemplates/100입니다.
datasetName 토큰화된 결과를 보내기 위한 BigQuery 데이터세트입니다.
batchSize 검사하거나 익명화할 데이터를 보내는 데 사용할 청크/배치 크기입니다. csv 파일의 경우 batchSize는 배치의 행 수입니다. 사용자는 레코드 크기 및 파일 크기에 따라 배치 크기를 결정해야 합니다. Cloud DLP API의 페이로드 크기 제한은 API 호출당 524KB입니다.
inspectTemplateName [선택사항] API 요청에 사용할 Cloud DLP 검사 템플릿으로, projects/{template_project_id}/identifyTemplates/{idTemplateId} 패턴을 사용하여 지정됩니다. 예를 들면 projects/my_project/identifyTemplates/100입니다.

Cloud Storage to BigQuery에서 Cloud DLP를 사용한 데이터 마스킹/토큰화 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 the Data Masking/Tokenization using Cloud DLP from Cloud Storage to BigQuery (Stream) template 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_DLP_GCS_Text_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_TEMPLATE_PROJECT_ID를 템플릿 프로젝트 ID로 바꿉니다.
  • YOUR_DLP_API_PROJECT_ID를 Cloud DLP API 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_INPUT_DATA를 입력 파일 경로로 바꿉니다.
  • YOUR_DEIDENTIFY_TEMPLATE을 Cloud DLPDeidentify 템플릿 번호로 바꿉니다.
  • YOUR_DATASET_NAME을 BigQuery 데이터세트 이름으로 바꿉니다.
  • YOUR_INSPECT_TEMPLATE을 Cloud DLPInspect 템플릿 번호로 바꿉니다.
  • BATCH_SIZE_VALUE를 배치 크기(csv용 API당 행 수)로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Stream_DLP_GCS_Text_to_BigQuery \
    --parameters \
inputFilePattern=YOUR_INPUT_DATA,\
dlpProjectId=YOUR_DLP_API_PROJECT_ID,\
deidentifyTemplateName=projects/YOUR_TEMPLATE_PROJECT_ID/deidentifyTemplates/YOUR_DEIDENTIFY_TEMPLATE,\
inspectTemplateName=projects/YOUR_TEMPLATE_PROJECT_ID/identifyTemplates/YOUR_IDENTIFY_TEMPLATE,\
datasetName=YOUR_DATASET,\
batchSize=BATCH_SIZE_VALUE

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_DLP_GCS_Text_to_BigQuery

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_TEMPLATE_PROJECT_ID를 템플릿 프로젝트 ID로 바꿉니다.
  • YOUR_DLP_API_PROJECT_ID를 Cloud DLP API 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_INPUT_DATA를 입력 파일 경로로 바꿉니다.
  • YOUR_DEIDENTIFY_TEMPLATE을 Cloud DLPDeidentify 템플릿 번호로 바꿉니다.
  • YOUR_DATASET_NAME을 BigQuery 데이터세트 이름으로 바꿉니다.
  • YOUR_INSPECT_TEMPLATE을 Cloud DLPInspect 템플릿 번호로 바꿉니다.
  • BATCH_SIZE_VALUE를 배치 크기(csv용 API당 행 수)로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Stream_DLP_GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
      "inputFilePattern":YOUR_INPUT_DATA,
      "dlpProjectId": "YOUR_DLP_API_PROJECT_ID",
      "deidentifyTemplateName": "projects/YOUR_TEMPLATE_PROJECT_ID/deidentifyTemplates/YOUR_DEIDENTIFY_TEMPLATE".
      "inspectTemplateName": "projects/YOUR_TEMPLATE_PROJECT_ID/identifyTemplates/YOUR_IDENTIFY_TEMPLATE",
      "datasetName": "YOUR_DATASET",
      "batchSize": "BATCH_SIZE_VALUE"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text to BigQuery(일괄)

Cloud Storage Text to BigQuery 파이프라인은 Cloud Storage에 저장된 텍스트 파일을 읽고, 제공된 자바스크립트 UDF(사용자 정의 함수)를 사용하여 변환하고, 결과를 BigQuery에 출력할 수 있게 해주는 일괄 파이프라인입니다.

중요: 기존 BigQuery 테이블을 재사용하는 경우에는 테이블을 덮어쓰게 됩니다.

파이프라인 요구사항

  • BigQuery 스키마를 설명하는 JSON 파일을 만듭니다.

    최상위 JSON 배열의 이름이 “BigQuery Schema”이고 해당 콘텐츠는 {“name”: ‘COLUMN NAME”, “type”:”DATA TYPE”} 패턴을 따라야 합니다. 예를 들면 다음과 같습니다.

    {
      "BigQuery Schema": [
        {
          "name": "location",
          "type": "STRING"
        },
        {
          "name": "name",
          "type": "STRING"
        },
        {
          "name": "age",
          "type": "STRING"
        },
        {
          "name": "color",
          "type": "STRING"
        },
        {
          "name": "coffee",
          "type": "STRING"
        }
      ]
    }
    
  • 텍스트 줄을 변환하는 논리를 제공하는 UDF 함수를 사용하여 자바스크립트(.js) 파일을 만듭니다. 함수는 JSON 문자열을 반환해야 합니다.

    예를 들어 이 함수는 CSV 파일의 각 줄을 분할하고, 값을 변환한 후에 JSON 문자열을 반환합니다.

    function transform(line) {
    var values = line.split(',');
    
    var obj = new Object();
    obj.location = values[0];
    obj.name = values[1];
    obj.age = values[2];
    obj.color = values[3];
    obj.coffee = values[4];
    var jsonString = JSON.stringify(obj);
    
    return jsonString;
    }
    

템플릿 매개변수

매개변수 설명
javascriptTextTransformFunctionName .js 파일로부터 호출할 함수의 이름입니다.
JSONPath Cloud Storage에 저장된 BigQuery 스키마를 정의하는 JSON 파일의 gs:// 경로입니다. 예를 들면 gs://path/to/my/schema.json입니다.
javascriptTextTransformGcsPath UDF를 정의하는 자바스크립트 파일의 gs:// 경로입니다. 예를 들면 gs://path/to/my/javascript_function.js입니다.
inputFilePattern Cloud Storage에서 처리하려는 텍스트의 gs:// 경로입니다. 예를 들면 gs://path/to/my/text/data.txt입니다.
outputTable 처리된 데이터를 저장하기 위해 만들 BigQuery 테이블 이름입니다. 기존 BigQuery 테이블을 재사용하는 경우에는 테이블을 덮어쓰게 됩니다. 예를 들면 my-project-name:my-dataset.my-table입니다.
bigQueryLoadingTemporaryDirectory BigQuery 로딩 프로세스를 위한 임시 디렉토리입니다. 예를 들면 gs://my-bucket/my-files/temp_dir입니다.

Cloud Storage Text to BigQuery 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Storage Text to BigQuery 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_JAVASCRIPT_FUNCTION을 UDF의 이름으로 바꿉니다.
  • PATH_TO_BIGQUERY_SCHEMA_JSON을 스키마 정의를 포함한 JSON 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_YOUR_TEXT_DATA를 텍스트 데이터세트의 Cloud Storage 경로로 바꿉니다.
  • BIGQUERY_TABLE을 BigQuery 테이블 이름으로 바꿉니다.
  • PATH_TO_TEMP_DIR_ON_GCS를 임시 디렉토리의 Cloud Storage 경로로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_YOUR_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_JAVASCRIPT_FUNCTION을 UDF의 이름으로 바꿉니다.
  • PATH_TO_BIGQUERY_SCHEMA_JSON을 스키마 정의를 포함한 JSON 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_YOUR_TEXT_DATA를 텍스트 데이터세트의 Cloud Storage 경로로 바꿉니다.
  • BIGQUERY_TABLE을 BigQuery 테이블 이름으로 바꿉니다.
  • PATH_TO_TEMP_DIR_ON_GCS를 임시 디렉토리의 Cloud Storage 경로로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_YOUR_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text to BigQuery(스트리밍)

Cloud Storage Text to BigQuery(스트리밍) 파이프라인은 Cloud Storage에 저장된 텍스트 파일을 스트리밍하고, 제공된 자바스크립트 UDF(사용자 정의 함수)를 사용하여 변환하고, 결과를 BigQuery에 출력할 수 있게 해주는 파이프라인입니다.

이 파이프라인의 요구사항:

  • 출력 테이블을 설명하는 JSON 형식의 BigQuery 스키마 파일을 만듭니다.
    {
        'fields': [{
            'name': 'location',
            'type': 'STRING'
        }, {
            'name': 'name',
            'type': 'STRING'
        }, {
            'name': 'age',
            'type': 'STRING',
        }, {
            'name': 'color',
            'type': 'STRING'
        }, {
            'name': 'coffee',
            'type': 'STRING',
            'mode': 'REQUIRED'
        }, {
            'name': 'cost',
            'type': 'NUMERIC',
            'mode': 'REQUIRED'
        }]
    }
    
  • 텍스트 줄을 변환하는 논리를 제공하는 UDF 함수를 사용하여 자바스크립트(.js) 파일을 만듭니다. 함수는 JSON 문자열을 반환해야 합니다.

    예를 들어 이 함수는 CSV 파일의 각 줄을 분할하고, 값을 변환한 후에 JSON 문자열을 반환합니다.

    function transform(line) {
    var values = line.split(',');
    
    var obj = new Object();
    obj.location = values[0];
    obj.name = values[1];
    obj.age = values[2];
    obj.color = values[3];
    obj.coffee = values[4];
    var jsonString = JSON.stringify(obj);
    
    return jsonString;
    }
    

템플릿 매개변수

매개변수 설명
javascriptTextTransformGcsPath 자바스크립트 UDF의 Cloud Storage 위치입니다. 예를 들면 gs://my_bucket/my_function.js입니다.
JSONPath JSON으로 설명된 BigQuery 스키마 파일의 Cloud Storage 위치입니다. 예를 들면 gs://path/to/my/schema.json입니다.
javascriptTextTransformFunctionName UDF로 호출할 JavaScript 함수의 이름입니다. 예를 들면 transform입니다.
outputTable 정규화된 BigQuery 테이블입니다. 예를 들면 my-project:dataset.table입니다.
inputFilePattern 처리하려는 텍스트의 Cloud Storage 위치입니다. 예를 들면 gs://my-bucket/my-files/text.txt입니다.
bigQueryLoadingTemporaryDirectory BigQuery 로딩 프로세스를 위한 임시 디렉토리입니다. 예를 들면 gs://my-bucket/my-files/temp_dir입니다.
outputDeadletterTable 메시지의 테이블이 출력 테이블(즉, Deadletter 테이블)에 도달하지 못했습니다. 예를 들면 my-project:dataset.my-deadletter-table입니다. 존재하지 않을 경우 파이프라인 실행 중에 생성됩니다. 지정하지 않을 경우 <outputTableSpec>_error_records가 대신 사용됩니다.

Cloud Storage Text to BigQuery 템플릿(스트리밍) 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 the Cloud Storage Text to BigQuery template 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_BigQuery

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_JAVASCRIPT_FUNCTION을 UDF의 이름으로 바꿉니다.
  • PATH_TO_BIGQUERY_SCHEMA_JSON을 스키마 정의를 포함한 JSON 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_YOUR_TEXT_DATA를 텍스트 데이터세트의 Cloud Storage 경로로 바꿉니다.
  • BIGQUERY_TABLE을 BigQuery 테이블 이름으로 바꿉니다.
  • BIGQUERY_DEADLETTER_TABLE을 BigQuery deadletter 테이블 이름으로 바꿉니다.
  • PATH_TO_TEMP_DIR_ON_GCS를 임시 디렉토리의 Cloud Storage 경로로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Stream_GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_YOUR_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
outputDeadletterTable=BIGQUERY_DEADLETTER_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Stream_GCS_Text_to_BigQuery

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_JAVASCRIPT_FUNCTION을 UDF의 이름으로 바꿉니다.
  • PATH_TO_BIGQUERY_SCHEMA_JSON을 스키마 정의를 포함한 JSON 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • PATH_TO_YOUR_TEXT_DATA를 텍스트 데이터세트의 Cloud Storage 경로로 바꿉니다.
  • BIGQUERY_TABLE을 BigQuery 테이블 이름으로 바꿉니다.
  • BIGQUERY_DEADLETTER_TABLE을 BigQuery deadletter 테이블 이름으로 바꿉니다.
  • PATH_TO_TEMP_DIR_ON_GCS를 임시 디렉토리의 Cloud Storage 경로로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Stream_GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_YOUR_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "outputDeadletterTable":"BIGQUERY_DEADLETTER_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text to Cloud Datastore

Cloud Storage Text to Cloud Datastore 템플릿은 Cloud Storage에 저장된 텍스트 파일로부터 읽고 JSON 인코딩된 항목을 Cloud Datastore에 쓰는 일괄 파이프라인입니다. 입력 테스트 파일의 각 줄은 https://cloud.google.com/datastore/docs/reference/rest/v1/Entity에 지정된 JSON 형식이어야 합니다.

파이프라인 요구사항

  • 대상 프로젝트에서 데이터 저장소를 활성화해야 합니다.

템플릿 매개변수

매개변수 설명
textReadPattern 텍스트 데이터 파일의 위치를 지정하는 Cloud Storage 파일 경로 패턴입니다. 예를 들면 gs://mybucket/somepath/*.json입니다.
javascriptTextTransformGcsPath 모든 자바스크립트 코드를 포함한 Cloud Storage 경로 패턴입니다. 예를 들면 gs://mybucket/mytransforms/*.js입니다. 함수를 입력하지 않으려면 이 매개변수를 공백으로 둡니다.
javascriptTextTransformFunctionName 호출할 자바스크립트 함수의 이름입니다. 예를 들어 자바스크립트 함수가 function myTransform(inJson) { ...dostuff...}이면 함수 이름은 myTransform입니다. 함수를 입력하지 않으려면 이 매개변수를 공백으로 둡니다.
datastoreWriteProjectId Cloud Datastore 항목을 쓰려는 위치의 GCP 프로젝트 ID입니다.
errorWritePath 처리 중에 발생하는 쓰기 오류에 대해 사용할 오류 로그 출력 파일입니다. 예를 들면 gs://bucket-name/errors.txt입니다.

Cloud Storage Text to Datastore 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Storage Text to Datastore 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • PATH_TO_INPUT_TEXT_FILES를 Cloud Storage의 입력 파일 패턴으로 바꿉니다.
  • YOUR_JAVASCRIPT_FUNCTION을 자바스크립트 함수 이름으로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • ERROR_FILE_WRITE_PATH를 Cloud Storage에서 오류 파일에 사용할 경로로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Datastore \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=YOUR_PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • PATH_TO_INPUT_TEXT_FILES를 Cloud Storage의 입력 파일 패턴으로 바꿉니다.
  • YOUR_JAVASCRIPT_FUNCTION을 자바스크립트 함수 이름으로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • ERROR_FILE_WRITE_PATH를 Cloud Storage에서 오류 파일에 사용할 경로로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "YOUR_PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage AvroFile to Cloud Bigtable

Cloud Storage AvroFile to Cloud Bigtable 템플릿은 Cloud Storage 버킷의 AvroFile에서 데이터를 읽고 Cloud Bigtable 테이블에 해당 데이터를 쓰는 파이프라인입니다. 이 템플릿은 데이터를 Cloud Storage에서 Cloud Bigtable로 이동하기 위한 신속한 솔루션으로 사용할 수 있습니다.

이 파이프라인의 요구사항:

  • AvroFile에서 내보낸 것과 동일한 column family가 있는 Cloud Bigtable 테이블이 있어야 합니다.
  • 파이프라인을 실행하기 전에 Cloud Storage 버킷에 입력 AvroFile이 있어야 합니다.
  • Cloud Bigtable은 입력 AvroFile에서 특정 스키마를 예상합니다.

템플릿 매개변수

매개변수 설명
bigtableProjectId 데이터를 쓸 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID입니다.
bigtableInstanceId 테이블이 포함된 Cloud Bigtable 인스턴스의 ID입니다.
bigtableTableId 가져올 Cloud Bigtable 테이블의 ID입니다.
inputFilePattern 데이터가 있는 Cloud Storage 경로 패턴입니다. 예를 들면 gs://mybucket/somefolder/prefix*입니다.

Cloud Storage AvroFile to Cloud Bigtable 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 the Cloud Storage Avro file to Cloud Bigtable template 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable

REST API 사용에 설명된 대로 이 요청 예시를 사용하세요. 이 요청에는 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • [PROJECT_ID]를 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID로 바꿉니다.
  • [INSTANCE_ID]를 테이블이 포함된 Cloud Bigtable 인스턴스의 ID로 바꿉니다.
  • [TABLE_ID]를 내보낼 Cloud Bigtable 테이블의 ID로 바꿉니다.
  • [INPUT_FILE_PATTERN]을 데이터가 있는 Cloud Storage 경로 패턴으로 바꿉니다. 예를 들면 gs://mybucket/somefolder/prefix*입니다.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Bigtable \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],inputFilePattern=[INPUT_FILE_PATTERN]

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Bigtable

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

REST API 사용에 설명된 대로 이 요청 예시를 사용하세요. 이 요청에는 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • [PROJECT_ID]를 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID로 바꿉니다.
  • [INSTANCE_ID]를 테이블이 포함된 Cloud Bigtable 인스턴스의 ID로 바꿉니다.
  • [TABLE_ID]를 내보낼 Cloud Bigtable 테이블의 ID로 바꿉니다.
  • [INPUT_FILE_PATTERN]을 데이터가 있는 Cloud Storage 경로 패턴으로 바꿉니다. 예를 들면 gs://mybucket/somefolder/prefix*입니다.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Bigtable
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "inputFilePattern": "[INPUT_FILE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage SequenceFile to Cloud Bigtable

Cloud Storage SequenceFile to Cloud Bigtable 템플릿은 Cloud Storage 버킷의 SequenceFile에서 데이터를 읽고 Cloud Bigtable 테이블에 해당 데이터를 쓰는 파이프라인입니다. 이 템플릿은 데이터를 Cloud Storage에서 Cloud Bigtable로 이동하기 위한 신속한 솔루션으로 사용할 수 있습니다.

이 파이프라인의 요구사항:

  • Cloud Bigtable 테이블이 있어야 합니다.
  • 파이프라인을 실행하기 전에 Cloud Storage 버킷에 입력 SequenceFile이 있어야 합니다.
  • 입력 SequenceFile이 Cloud Bigtable 또는 HBase에서 내보내기가 완료되어야 합니다.

템플릿 매개변수

매개변수 설명
bigtableProject 데이터를 쓸 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID입니다.
bigtableInstanceId 테이블이 포함된 Cloud Bigtable 인스턴스의 ID입니다.
bigtableTableId 가져올 Cloud Bigtable 테이블의 ID입니다.
bigtableAppProfileId 가져오기에 사용될 Cloud Bigtable 애플리케이션 프로필의 ID입니다. 앱 프로필을 지정하지 않으면 Cloud Bigtable에서는 인스턴스의 기본 앱 프로필을 사용합니다.
sourcePattern 데이터가 있는 Cloud Storage 경로 패턴입니다. 예를 들면 gs://mybucket/somefolder/prefix*입니다.

Cloud Storage SequenceFile to Cloud Bigtable 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Storage SequenceFile to Cloud Bigtable 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable

REST API 사용에 설명된 대로 이 요청 예시를 사용하세요. 이 요청에는 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • [PROJECT_ID]를 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID로 바꿉니다.
  • [INSTANCE_ID]를 테이블이 포함된 Cloud Bigtable 인스턴스의 ID로 바꿉니다.
  • [TABLE_ID]를 내보낼 Cloud Bigtable 테이블의 ID로 바꿉니다.
  • [APPLICATION_PROFILE_ID]를 내보내기에 사용될 Cloud Bigtable 애플리케이션 프로필의 ID로 바꿉니다.
  • [SOURCE_PATTERN]을 데이터가 있는 Cloud Storage 경로 패턴으로 바꿉니다. 예를 들면 gs://mybucket/somefolder/prefix*입니다.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_SequenceFile_to_Cloud_Bigtable \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],sourcePattern=[SOURCE_PATTERN]

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_SequenceFile_to_Cloud_Bigtable

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

REST API 사용에 설명된 대로 이 요청 예시를 사용하세요. 이 요청에는 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • [PROJECT_ID]를 데이터를 읽을 Cloud Bigtable 인스턴스의 GCP 프로젝트 ID로 바꿉니다.
  • [INSTANCE_ID]를 테이블이 포함된 Cloud Bigtable 인스턴스의 ID로 바꿉니다.
  • [TABLE_ID]를 내보낼 Cloud Bigtable 테이블의 ID로 바꿉니다.
  • [APPLICATION_PROFILE_ID]를 내보내기에 사용될 Cloud Bigtable 애플리케이션 프로필의 ID로 바꿉니다.
  • [SOURCE_PATTERN]을 데이터가 있는 Cloud Storage 경로 패턴으로 바꿉니다. 예를 들면 gs://mybucket/somefolder/prefix*입니다.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_SequenceFile_to_Cloud_Bigtable
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "sourcePattern": "[SOURCE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

Bulk Compress Cloud Storage Files

Bulk Compress Cloud Storage Files 템플릿은 Cloud Storage의 파일을 지정된 위치에 압축하는 일괄 파이프라인입니다. 이 템플릿은 주기적인 보관처리 프로세스의 일환으로 큰 파일 배치를 압축해야 할 때 유용할 수 있습니다. 지원되는 압축 모드는 BZIP2, DEFLATE, GZIP, ZIP입니다. 대상 위치로의 파일 출력은 원래 파일 이름에 압축 모드 확장자를 추가하는 명명 스키마를 따릅니다. 추가되는 확장자는 .bzip2, .deflate, .gz, .zip 중 하나입니다.

압축 프로세스 중에 발생하는 오류는 파일 이름, 오류 메시지의 CSV 형식으로 오류 파일로 출력됩니다. 실행 중에 오류가 발생하지 않는 경우에도 오류 파일은 생성되지만 오류 레코드를 포함하지 않습니다.

이 파이프라인의 요구사항:

  • 압축은 BZIP2, DEFLATE, GZIP, ZIP 형식 중 하나여야 합니다.
  • 파이프라인을 실행하기 전에 출력 디렉토리가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputFilePattern 읽을 입력 파일 패턴입니다. 예를 들면 gs://bucket-name/uncompressed/*.txt입니다.
outputDirectory 출력을 쓸 위치입니다. 예를 들면 gs://bucket-name/compressed/입니다.
outputFailureFile 압축 프로세스 중에 발생하는 쓰기 오류에 사용할 오류 로그 출력 파일입니다. 예를 들면 gs://bucket-name/compressed/failed.csv입니다. 오류가 없는 경우에도 파일은 생성되지만 비어 있게 됩니다. 파일 콘텐츠는 CSV 형식(파일 이름, 오류)이며 압축에 실패한 파일이 한 줄에 하나씩 표시됩니다.
compression 일치하는 파일을 압축하는 데 사용된 압축 알고리즘입니다. BZIP2, DEFLATE, GZIP, ZIP 중 하나여야 합니다.

Bulk Compress Cloud Storage Files 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Bulk Compress Cloud Storage Files 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • COMPRESSION을 원하는 압축 알고리즘으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Bulk_Compress_GCS_Files \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/uncompressed/*.txt,\
outputDirectory=gs://YOUR_BUCKET_NAME/compressed,\
outputFailureFile=gs://YOUR_BUCKET_NAME/failed/failure.csv,\
compression=COMPRESSION

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Bulk_Compress_GCS_Files

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • COMPRESSION을 원하는 압축 알고리즘으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Bulk_Compress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/uncompressed/*.txt",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/compressed",
       "outputFailureFile": "gs://YOUR_BUCKET_NAME/failed/failure.csv",
       "compression": "COMPRESSION"
   },
   "environment": { "zone": "us-central1-f" }
}

Bulk Decompress Cloud Storage Files

Bulk Decompress Cloud Storage Files 템플릿은 Cloud Storage의 파일을 지정된 위치로 압축 해제하는 일괄 파이프라인입니다. 이 기능은 이전 중에는 압축된 데이터를 사용하여 네트워크 대역폭 비용을 최소화하되, 이전 후에는 압축 해제된 데이터를 사용하여 분석 처리 속도를 최대화하려는 경우에 유용합니다. 파이프라인이 단일 실행 중에 여러 압축 모드를 자동으로 처리하며, 파일 확장자(.bzip2, .deflate, .gz, .zip)에 따라 사용할 압축 해제 모드가 결정됩니다.

파이프라인 요구사항

  • 압축 해제할 파일은 Bzip2, Deflate, Gzip, Zip 형식 중 하나여야 합니다.
  • 파이프라인을 실행하기 전에 출력 디렉토리가 있어야 합니다.

템플릿 매개변수

매개변수 설명
inputFilePattern 읽을 입력 파일 패턴입니다. 예를 들면 gs://bucket-name/compressed/*.gz입니다.
outputDirectory 출력을 쓸 위치입니다. 예를 들면 gs://bucket-name/decompressed입니다.
outputFailureFile 압축 해제 프로세스 중에 발생하는 쓰기 오류에 사용할 오류 로그 출력 파일입니다. 예를 들면 gs://bucket-name/decompressed/failed.csv입니다. 오류가 없는 경우에도 파일은 생성되지만 비어 있게 됩니다. 파일 콘텐츠는 CSV 형식(파일 이름, 오류)이며 압축 해제에 실패한 파일이 한 줄에 하나씩 표시됩니다.

Bulk Decompress Cloud Storage Files 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Bulk Decompress Cloud Storage Files 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • OUTPUT_FAILURE_FILE_PATH를 오류 정보를 포함한 파일에 사용할 경로로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Bulk_Decompress_GCS_Files \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/compressed/*.gz,\
outputDirectory=gs://YOUR_BUCKET_NAME/decompressed,\
outputFailureFile=OUTPUT_FAILURE_FILE_PATH

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • OUTPUT_FAILURE_FILE_PATH를 오류 정보를 포함한 파일에 사용할 경로로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Bulk_Decompress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/compressed/*.gz",
       "outputDirectory": "gs://YOUR_BUCKET_NAME/decompressed",
       "outputFailureFile": "OUTPUT_FAILURE_FILE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Datastore Bulk Delete

Cloud Datastore Bulk Delete 템플릿은 지정된 GQL 쿼리를 이용하여 Datastore의 항목을 읽고 선택한 대상 프로젝트에서 일치하는 모든 항목을 삭제하는 파이프라인입니다. 이 파이프라인은 JSON 인코딩된 Datastore 항목을 자바스크립트 UDF(null 값을 반환하여 항목 필터링)로 선택적으로 전달할 수 있습니다.

이 파이프라인의 요구사항:

  • 실행하기 전에 프로젝트에서 Cloud Datastore를 설정해야 합니다.
  • 별도의 Datastore 인스턴스에서 읽고 삭제하는 경우 Dataflow 컨트롤러 서비스 계정에 한 인스턴스에서 읽고 다른 인스턴스에서 삭제할 수 있는 권한이 있어야 합니다.

템플릿 매개변수

매개변수 설명
datastoreReadGqlQuery 삭제 대상과 일치하는 항목을 지정하는 GQL 쿼리입니다. 예를 들면 'SELECT * FROM MyKind'입니다.
datastoreReadProjectId GQL 쿼리를 사용하여 대조에 사용되는 항목을 읽을 Cloud Datastore 인스턴스의 GCP 프로젝트 ID입니다.
datastoreDeleteProjectId 일치하는 항목을 삭제할 Cloud Datastore 인스턴스의 GCP 프로젝트 ID입니다. 동일한 Cloud Datastore 인스턴스에서 읽고 삭제하려는 경우 datastoreReadProjectId와 같을 수 있습니다.
datastoreReadNamespace [선택사항] 요청한 항목의 네임스페이스입니다. 기본 네임스페이스는 ""로 설정되어 있습니다.
javascriptTextTransformGcsPath [선택사항] 모든 자바스크립트 코드를 포함한 Cloud Storage 경로입니다. 예를 들면 'gs://mybucket/mytransforms/*.js'입니다. UDF를 사용하지 않으려면 이 필드를 비워 두세요.
javascriptTextTransformFunctionName [선택사항] 호출할 함수의 이름입니다. 이 함수가 지정된 Datastore 항목에 대해 undefined 또는 null 값을 반환하는 경우 해당 항목은 삭제되지 않습니다. 자바스크립트 함수가 'function myTransform(inJson) { ...dostuff...}'이면 함수 이름은 'myTransform'입니다. UDF를 사용하지 않으려면 이 필드를 비워 두세요.

Cloud Datastore Bulk Delete 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Datastore Bulk Delete 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

이 예에서 다음 값을 바꿔야 합니다.

  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • GQL_QUERY를 삭제 대상과 항목을 대조하는 데 사용할 쿼리로 바꿉니다.
  • DATASTORE_READ_AND_DELETE_PROJECT_ID를 Datastore 인스턴스 프로젝트 ID로 바꿉니다. 이 예는 동일한 Datastore 인스턴스에서 읽고 삭제합니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_Datastore_Delete \
    --parameters \
datastoreReadGqlQuery="GQL_QUERY",\
datastoreReadProjectId=DATASTORE_READ_AND_DELETE_PROJECT_ID,\
datastoreDeleteProjectId=DATASTORE_READ_AND_DELETE_PROJECT_ID

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Bulk_Decompress_GCS_Files

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • GQL_QUERY를 삭제 대상과 항목을 대조하는 데 사용할 쿼리로 바꿉니다.
  • DATASTORE_READ_AND_DELETE_PROJECT_ID를 Datastore 인스턴스 프로젝트 ID로 바꿉니다. 이 예는 동일한 Datastore 인스턴스에서 읽고 삭제합니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_Datastore_Delete
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "GQL_QUERY",
       "datastoreReadProjectId": "READ_PROJECT_ID",
       "datastoreDeleteProjectId": "DELETE_PROJECT_ID"
   },
   "environment": { "zone": "us-central1-f" }
   }
}

Cloud Spanner to Cloud Storage Avro

Cloud Spanner to Cloud Storage 템플릿은 전체 Cloud Spanner 데이터베이스를 Avro 형식으로 Cloud Storage에 내보내는 일괄 파이프라인입니다. Cloud Spanner 데이터베이스를 내보내면 선택한 버킷에 폴더가 생성됩니다. 폴더에는 다음이 포함됩니다.

  • spanner-export.json 파일
  • 내보낸 데이터베이스의 각 테이블에 대한 TableName-manifest.json 파일
  • 하나 이상의 TableName.avro-#####-of-##### 파일

예를 들어 SingersAlbums의 두 테이블이 있는 데이터베이스를 내보내는 경우 다음 파일 모음이 생성됩니다.

  • Albums-manifest.json
  • Albums.avro-00000-of-00002
  • Albums.avro-00001-of-00002
  • Singers-manifest.json
  • Singers.avro-00000-of-00003
  • Singers.avro-00001-of-00003
  • Singers.avro-00002-of-00003
  • spanner-export.json

이 파이프라인의 요구사항:

  • Cloud Spanner 데이터베이스가 있어야 합니다.
  • 출력 Cloud Storage 버킷이 있어야 합니다.
  • Cloud Dataflow 작업을 실행하는 데 필요한 Cloud IAM 역할 및 Cloud Spanner 데이터를 읽고 Cloud Storage 버킷에 쓰기 위한 적절한 Cloud IAM 역할이 있어야 합니다.

템플릿 매개변수

매개변수 설명
instanceId 내보낼 Cloud Spanner 데이터베이스의 인스턴스 ID입니다.
databaseId 내보낼 Cloud Spanner 데이터베이스의 데이터베이스 ID입니다,
outputDir Avro 파일을 내보낼 Cloud Storage 경로입니다. 내보내기 작업을 수행하면 이 경로 아래에 내보낸 파일을 포함하는 새 디렉토리가 생성됩니다.

템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Spanner to Cloud Storage Avro 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다.
    • 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
    • 작업 이름이 GCP Console의 Cloud Spanner 부분에 표시되려면 cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] 형식과 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

REST API 사용에 설명된 대로 이 예시 요청을 사용하세요. 이 요청은 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [DATAFLOW_REGION]을 Cloud Dataflow 작업을 실행할 리전(예: us-central1)으로 바꿉니다.
  • [YOUR_INSTANCE_ID]를 Cloud Spanner 인스턴스 ID로 바꿉니다.
  • [YOUR_DATABASE_ID]를 Cloud Spanner 데이터베이스 ID로 바꿉니다.
  • [YOUR_GCS_DIRECTORY]를 AvroFile을 내보내야 하는
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다.
    • 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
    • 작업 이름이 GCP Console의 Cloud Spanner 부분에 표시되려면 cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] 형식과 일치해야 합니다.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],outputDir=[YOUR_GCS_DIRECTORY]

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

REST API 사용에 설명된 대로 이 예시 요청을 사용하세요. 이 요청은 승인이 필요하며, 쓰기 권한이 있는 위치에 tempLocation을 지정해야 합니다. 이 예에서 다음 값을 바꿔야 합니다.

  • [YOUR_PROJECT_ID]를 프로젝트 ID로 바꿉니다.
  • [DATAFLOW_REGION]을 Cloud Dataflow 작업을 실행할 리전(예: us-central1)으로 바꿉니다.
  • [YOUR_INSTANCE_ID]를 Cloud Spanner 인스턴스 ID로 바꿉니다.
  • [YOUR_DATABASE_ID]를 Cloud Spanner 데이터베이스 ID로 바꿉니다.
  • [YOUR_GCS_DIRECTORY]를 AvroFile을 내보내야 하는
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다.
    • 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
    • 작업 이름이 GCP Console의 Cloud Spanner 부분에 표시되려면 cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] 형식과 일치해야 합니다.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "outputDir": "gs://[YOUR_GCS_DIRECTORY]"
   }
}

템플릿 소스 코드

자바: SDK 2.x

이 템플릿의 소스 코드는 GitHub의 GoogleCloudPlatform/DataflowTemplates 저장소에 있습니다.

Python

Python 소스 코드는 제공되지 않습니다.

Cloud Spanner to Cloud Storage Text

Cloud Spanner to Cloud Storage Text 템플릿은 Cloud Spanner 테이블에서 데이터를 읽고 원하는 경우 제공된 자바스크립트 UDF(사용자 정의 함수)를 통해 데이터를 변환하고 해당 데이터를 Cloud Storage에 CSV 텍스트 파일로 쓰는 일괄 파이프라인입니다.

이 파이프라인의 요구사항:

  • 파이프라인을 실행하기 전에 입력 Cloud Spanner 테이블이 있어야 합니다.

템플릿 매개변수

매개변수 설명
spannerProjectId 데이터를 읽을 Cloud Spanner 데이터베이스의 GCP 프로젝트 ID입니다.
spannerDatabaseId 요청된 테이블의 데이터베이스입니다.
spannerInstanceId 요청된 테이블의 인스턴스입니다.
spannerTable 내보낼 테이블입니다.
textWritePrefix 출력 텍스트 파일을 쓸 출력 디렉토리입니다. 마지막에 /를 추가하세요. 예를 들면 gs://mybucket/somefolder/입니다.
javascriptTextTransformGcsPath [선택사항] 모든 자바스크립트 코드를 포함한 Cloud Storage 경로입니다. 예를 들면 gs://mybucket/mytransforms/*.js입니다. 함수를 입력하지 않으려면 이 매개변수를 공백으로 둡니다.
javascriptTextTransformFunctionName [선택사항] 호출할 자바스크립트 함수의 이름입니다. 예를 들어 자바스크립트 함수가 function myTransform(inJson) { ...dostuff...}이면 함수 이름은 myTransform입니다. 함수를 입력하지 않으려면 이 매개변수를 공백으로 둡니다.

Cloud Spanner to Cloud Storage Text 템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Spanner to Cloud Storage Text 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다.
    • 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
    • 작업 이름이 GCP Console의 Cloud Spanner 부분에 표시되려면 cloud-spanner-export-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] 형식과 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_DATABASE_ID를 Cloud Spanner 데이터베이스 ID로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • YOUR_INSTANCE_ID를 Cloud Spanner 인스턴스 ID로 바꿉니다.
  • YOUR_TABLE_ID를 Cloud Spanner 테이블 ID로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • YOUR_JAVASCRIPT_FUNCTION을 자바스크립트 함수 이름으로 바꿉니다.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters \
spannerProjectId=YOUR_PROJECT_ID,\
spannerDatabaseId=YOUR_DATABASE_ID,\
spannerInstanceId=YOUR_INSTANCE_ID,\
spannerTable=YOUR_TABLE_ID,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

REST API 요청으로 템플릿을 실행하려면 프로젝트 ID로 HTTP POST 요청을 보냅니다. 이 요청에는 승인이 필요합니다.

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_DATABASE_ID를 Cloud Spanner 데이터베이스 ID로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • YOUR_INSTANCE_ID를 Cloud Spanner 인스턴스 ID로 바꿉니다.
  • YOUR_TABLE_ID를 Cloud Spanner 테이블 ID로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • YOUR_JAVASCRIPT_FUNCTION을 자바스크립트 함수 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "YOUR_PROJECT_ID",
       "spannerDatabaseId": "YOUR_DATABASE_ID",
       "spannerInstanceId": "YOUR_INSTANCE_ID",
       "spannerTable": "YOUR_TABLE_ID",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Avro to Cloud Spanner

Cloud Storage Avro to Cloud Spanner 템플릿은 Cloud Storage에서 Avro 파일을 읽고 Cloud Spanner 데이터베이스로 가져오는 일괄 파이프라인입니다.

이 파이프라인의 요구사항:

  • 대상 Cloud Spanner 데이터베이스가 존재하며 비어 있어야 합니다.
  • Cloud Storage 버킷에 대한 읽기 권한과 대상 Cloud Spanner 데이터베이스에 대한 쓰기 권한이 있어야 합니다.
  • 입력 Cloud Storage 경로가 있어야 하며 가져올 파일의 JSON 설명이 포함된 spanner-export.json 파일이 경로에 있어야 합니다.

템플릿 매개변수

매개변수 설명
instanceId Cloud Spanner 데이터베이스의 인스턴스 ID입니다.
databaseId Cloud Spanner 데이터베이스의 데이터베이스 ID입니다.
inputDir Avro 파일을 가져올 Cloud Storage 경로입니다.

템플릿 실행

콘솔

Google Cloud Platform Console에서 실행
  1. GCP Console에서 Cloud Dataflow 페이지로 이동합니다.
  2. Cloud Dataflow 페이지로 이동
  3. 템플릿에서 작업 만들기를 클릭합니다.
  4. 템플릿에서 Cloud Platform Console 생성 작업 버튼
  5. Cloud Dataflow 템플릿 드롭다운 메뉴에서 Cloud Storage Avro to Cloud Spanner 템플릿 항목을 선택합니다.
  6. 작업 이름 필드에 작업 이름을 입력합니다.
    • 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
    • 작업 이름이 GCP Console의 Cloud Spanner 부분에 표시되려면 cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] 형식과 일치해야 합니다.
  7. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  8. 작업 실행을 클릭합니다.

GCLOUD

gcloud 명령줄 도구에서 실행

참고: gcloud 명령줄 도구를 사용하여 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_DATABASE_ID를 Cloud Spanner 데이터베이스 ID로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • YOUR_INSTANCE_ID를 Cloud Spanner 인스턴스 ID로 바꿉니다.
  • YOUR_TABLE_ID를 Cloud Spanner 테이블 ID로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • YOUR_JAVASCRIPT_FUNCTION을 자바스크립트 함수 이름으로 바꿉니다.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],inputDir=[YOUR_GCS_DIRECTORY]

API

REST API에서 실행

이 템플릿을 실행할 때에는 다음과 같이 템플릿에 대한 Cloud Storage 경로가 필요합니다.

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

이 예에서 다음 값을 바꿔야 합니다.

  • YOUR_PROJECT_ID를 프로젝트 ID로 바꿉니다.
  • JOB_NAME을 원하는 작업 이름으로 바꿉니다. 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
  • YOUR_DATABASE_ID를 Cloud Spanner 데이터베이스 ID로 바꿉니다.
  • YOUR_BUCKET_NAME을 Cloud Storage 버킷 이름으로 바꿉니다.
  • YOUR_INSTANCE_ID를 Cloud Spanner 인스턴스 ID로 바꿉니다.
  • YOUR_TABLE_ID를 Cloud Spanner 테이블 ID로 바꿉니다.
  • PATH_TO_JAVASCRIPT_UDF_FILE을 자바스크립트 코드를 포함한 .js 파일의 Cloud Storage 경로로 바꿉니다.
  • YOUR_JAVASCRIPT_FUNCTION을 자바스크립트 함수 이름으로 바꿉니다.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "inputDir": "gs://[YOUR_GCS_DIRECTORY]"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

템플릿 소스 코드

자바: SDK 2.x

이 템플릿의 소스 코드는 GitHub의 GoogleCloudPlatform/DataflowTemplates 저장소에 있습니다.

Python

Python 소스 코드는 제공되지 않습니다.

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

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

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