Google Cloud to Neo4j 템플릿

Google Cloud to Neo4j 템플릿을 사용하면 Dataflow 작업을 통해 데이터 세트를 Neo4j 데이터베이스로 가져오고 Cloud Storage 버킷에 호스팅된 CSV 파일의 데이터를 가져올 수 있습니다. 또한 다양한 가져오기 단계에서 데이터를 조작하고 변환할 수 있습니다. 최초 가져오기 및 증분 가져오기 모두에 이 템플릿을 사용할 수 있습니다.

파이프라인 요구사항

  • 실행 중인 Neo4j 인스턴스
  • Cloud Storage 버킷
  • CSV 파일 형식으로 가져올 데이터 세트
  • 사용할 작업 사양 파일

작업 사양 파일 만들기

작업 사양 파일은 다음 섹션이 있는 JSON 객체로 구성됩니다.

  • config: 가져오기 수행 방식에 영향을 미치는 전역 플래그입니다.
  • sources: 데이터 소스 정의입니다(관계형).
  • targets: 데이터 대상 정의입니다(그래프: 노드/관계).
  • actions: 로드 전/로드 후 작업입니다.

자세한 내용은 Neo4j 문서의 작업 사양 파일 만들기를 참조하세요.

템플릿 매개변수

필수 매개변수

  • jobSpecUri: 소스 및 대상 메타데이터의 구성이 포함된 작업 사양 파일의 경로입니다.

선택적 매개변수

  • neo4jConnectionUri: Neo4j 연결 메타데이터 JSON 파일의 경로입니다.
  • neo4jConnectionSecretId: Neo4j 연결 메타데이터의 보안 비밀 ID입니다. GCS 경로 옵션 대신 사용할 수 있습니다.
  • optionsJson: JSON 옵션입니다. 런타임 토큰을 사용합니다. (예: {token1:value1,token2:value2}). 기본값은 빈 값입니다.
  • readQuery: SQL 쿼리를 재정의합니다. 기본값은 빈 값입니다.
  • inputFilePattern: 텍스트 파일 패턴을 재정의합니다(예: gs://your-bucket/path/*.json). 기본값은 빈 값입니다.
  • disabledAlgorithms: 사용 중지할 쉼표로 구분된 알고리즘입니다. 이 값을 없음으로 설정하면 알고리즘이 사용 중지되지 않습니다. 기본적으로 중지된 알고리즘은 취약점 또는 성능 문제를 일으킬 수 있으므로 이 매개변수를 사용할 때는 주의해야 합니다. (예: SSLv3, RC4).
  • extraFilesToStage: 작업자에 스테이징할 파일의 쉼표로 구분된 Cloud Storage 경로 또는 Secret Manager 보안 비밀입니다. 이러한 파일은 각 작업자의 /extra_files 디렉터리에 저장됩니다. (예: gs://
  • defaultLogLevel: 작업자의 로그 수준을 설정합니다. 지원되는 옵션은 OFF, ERROR, WARN, INFO, DEBUG, TRACE입니다. 기본값은 INFO입니다.

템플릿 실행

콘솔

  1. Dataflow 템플릿에서 작업 만들기 페이지로 이동합니다.
  2. 템플릿에서 작업 만들기로 이동
  3. 작업 이름 필드에 고유한 작업 이름을 입력합니다.
  4. (선택사항): 리전 엔드포인트의 드롭다운 메뉴에서 값을 선택합니다. 기본 리전은 us-central1입니다.

    Dataflow 작업을 실행할 수 있는 리전 목록은 Dataflow 위치를 참조하세요.

  5. Dataflow 템플릿 드롭다운 메뉴에서 the Google Cloud to Neo4j template을 선택합니다.
  6. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  7. 작업 실행을 클릭합니다.

gcloud

셸 또는 터미널에서 템플릿을 실행합니다.

gcloud dataflow flex-template run JOB_NAME \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/Google_Cloud_to_Neo4j \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       jobSpecUri=JOB_SPEC_URI,\
       neo4jConnectionUri=NEO4J_CONNECTION_URI,\

다음을 바꿉니다.

  • JOB_NAME: 선택한 고유한 작업 이름
  • VERSION: 사용할 템플릿 버전

    다음 값을 사용할 수 있습니다.

  • REGION_NAME: Dataflow 작업을 배포할 리전(예: us-central1)
  • JOB_SPEC_URI: 작업 사양 파일의 경로
  • NEO4J_CONNECTION_URI: Neo4j 연결 메타데이터의 경로

API

REST API를 사용하여 템플릿을 실행하려면 HTTP POST 요청을 전송합니다. API 및 승인 범위에 대한 자세한 내용은 projects.templates.launch를 참조하세요.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch
{
   "launchParameter": {
     "jobName": "JOB_NAME",
     "parameters": {
       "jobSpecUri": "JOB_SPEC_URI",
       "neo4jConnectionUri": "NEO4J_CONNECTION_URI",
     },
     "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/Google_Cloud_to_Neo4j",
     "environment": { "maxWorkers": "10" }
  }
}

다음을 바꿉니다.

  • PROJECT_ID: Dataflow 작업을 실행하려는 Google Cloud 프로젝트 ID
  • JOB_NAME: 선택한 고유한 작업 이름
  • VERSION: 사용할 템플릿 버전

    다음 값을 사용할 수 있습니다.

  • LOCATION: Dataflow 작업을 배포할 리전(예: us-central1)
  • JOB_SPEC_URI: 작업 사양 파일의 경로
  • NEO4J_CONNECTION_URI: Neo4j 연결 메타데이터의 경로

다음 단계