Google 제공 일괄 템플릿

Google은 오픈소스 Cloud Dataflow 템플릿 모음을 제공합니다. 템플릿에 대한 일반 정보는 개요 페이지를 참조하세요. 모든 Google 제공 템플릿 목록은 Google 제공 템플릿 시작 페이지를 참조하세요.

이 페이지에서는 일괄 템플릿을 다룹니다.

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 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 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 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 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])?와 일치해야 합니다.
  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 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]를 Avro 파일을 내보내야 하는
  • [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]를 Avro 파일을 내보내야 하는
  • [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 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

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

  • [DATAFLOW_REGION]을 Cloud Dataflow 작업을 실행할 리전(예: us-central1)으로 바꿉니다.
  • [YOUR_INSTANCE_ID]를 Cloud Spanner 인스턴스 ID로 바꿉니다.
  • [YOUR_DATABASE_ID]를 Cloud Spanner 데이터베이스 ID로 바꿉니다.
  • [YOUR_GCS_DIRECTORY]를 Avro 파일을 가져와야 하는 Cloud Storage 경로로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다.
    • 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
    • 작업 이름이 GCP Console의 Cloud Spanner 부분에 표시되려면 cloud-spanner-import-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] 형식과 일치해야 합니다.
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

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]를 Avro 파일을 가져와야 하는 Cloud Storage 경로로 바꿉니다.
  • [JOB_NAME]을 원하는 작업 이름으로 바꿉니다.
    • 작업 이름이 유효하려면 정규 표현식 [a-z]([-a-z0-9]{0,38}[a-z0-9])?와 일치해야 합니다.
    • 작업 이름이 GCP Console의 Cloud Spanner 부분에 표시되려면 cloud-spanner-import-[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]/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 소스 코드는 제공되지 않습니다.

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])?와 일치해야 합니다.
    • 작업 이름이 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/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 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])?와 일치해야 합니다.
    • 작업 이름이 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_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" }
}

Cloud Bigtable to Cloud Storage Avro file

Cloud Bigtable to Cloud Storage Avro 파일 템플릿은 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 Avro 파일 템플릿 실행

콘솔

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])?와 일치해야 합니다.
    • 작업 이름이 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/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]를 Avro 파일 이름의 프리픽스로 바꿉니다. 예를 들면 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]를 Avro 파일 이름의 프리픽스로 바꿉니다. 예를 들면 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 Storage Avro file to Cloud Bigtable

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

파이프라인 요구사항

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

템플릿 매개변수

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

Cloud Storage Avro file 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])?와 일치해야 합니다.
    • 작업 이름이 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_AvroFile_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_AvroFile_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_AvroFile_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_AvroFile_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" }
}

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])?와 일치해야 합니다.
    • 작업 이름이 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/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" }
}
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

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

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