Modelo do Google Cloud para Neo4j

O modelo do Google Cloud para Neo4j permite importar um conjunto de dados para um banco de dados do Neo4j por meio de um job do Dataflow, fornecendo dados de arquivos CSV hospedados em buckets do Cloud Storage. Além disso, é possível manipular e transformar os dados em várias etapas da importação. É possível usar o modelo para importações novas e incrementais.

Requisitos de pipeline

  • Uma instância do Neo4j em execução
  • Um bucket do Cloud Storage
  • Um conjunto de dados para importar, na forma de arquivos CSV
  • Um arquivo de especificação do job a ser usado

Crie um arquivo de especificação do job

O arquivo de especificação do job consiste em um objeto JSON com as seguintes seções:

  • config: sinalizações globais que afetam o desempenho da importação.
  • sources: definições da fonte de dados (relacional).
  • targets: definições de destino de dados (gráfico: nós/relacionamentos).
  • actions: ações pré/pós-carregamento.

Para mais informações, confira Criar um arquivo de especificação de job na documentação do Neo4j.

Parâmetros do modelo

Parâmetros obrigatórios

  • jobSpecUri: o caminho para o arquivo de especificação do job, que contém a configuração de metadados de origem e destino.

Parâmetros opcionais

  • neo4jConnectionUri: o caminho para o arquivo JSON de metadados de conexão do Neo4j.
  • neo4jConnectionSecretId: o ID secreto dos metadados de conexão do Neo4j. Essa é uma alternativa à opção de caminho do GCS.
  • optionsJson: JSON de opções. Usar tokens de ambiente de execução. (Por exemplo, {token1:value1,token2:value2}). O padrão é vazio.
  • readQuery: substitua a consulta SQL. O padrão é vazio.
  • inputFilePattern: substitui o padrão do arquivo de texto (por exemplo, gs://your-bucket/path/*.json). O padrão é vazio.
  • disabledAlgorithms: algoritmos separados por vírgula a serem desativados. Se esse valor for definido como nenhum, nenhum algoritmo será desativado. Use esse parâmetro com cuidado, porque os algoritmos desativados por padrão podem ter vulnerabilidades ou problemas de desempenho. (Exemplo: SSLv3, RC4).
  • extraFilesToStage : caminhos do Cloud Storage separados por vírgulas ou secrets do Secret Manager para que os arquivos sejam organizados no worker. Esses arquivos são salvos no diretório /extra_files em cada worker. (Exemplo: gs://

Executar o modelo

Console

  1. Acesse a página Criar job usando um modelo do Dataflow.
  2. Acesse Criar job usando um modelo
  3. No campo Nome do job, insira um nome exclusivo.
  4. Opcional: em Endpoint regional, selecione um valor no menu suspenso. A região padrão é us-central1.

    Para ver uma lista de regiões em que é possível executar um job do Dataflow, consulte Locais do Dataflow.

  5. No menu suspenso Modelo do Dataflow, selecione the Google Cloud to Neo4j template.
  6. Nos campos de parâmetro fornecidos, insira os valores de parâmetro.
  7. Cliquem em Executar job.

gcloud

No shell ou no terminal, execute o modelo:

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,\

Substitua:

  • JOB_NAME: um nome de job de sua escolha
  • VERSION: a versão do modelo que você quer usar

    Use estes valores:

  • REGION_NAME: a região em que você quer implantar o job do Dataflow, por exemplo, us-central1
  • JOB_SPEC_URI: o caminho para o arquivo de especificação do job.
  • NEO4J_CONNECTION_URI: o caminho para os metadados de conexão do Neo4j.

API

Para executar o modelo usando a API REST, envie uma solicitação HTTP POST. Para mais informações sobre a API e os respectivos escopos de autorização, consulte 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" }
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto do Google Cloud em que você quer executar o job do Dataflow
  • JOB_NAME: um nome de job de sua escolha
  • VERSION: a versão do modelo que você quer usar

    Use estes valores:

  • LOCATION: a região em que você quer implantar o job do Dataflow, por exemplo, us-central1
  • JOB_SPEC_URI: o caminho para o arquivo de especificação do job.
  • NEO4J_CONNECTION_URI: o caminho para os metadados de conexão do Neo4j.

A seguir