Google Cloud para o modelo do Neo4j

O modelo Google Cloud para o Neo4j permite-lhe importar um conjunto de dados para uma base de dados Neo4j através de uma tarefa do Dataflow, obtendo dados de ficheiros CSV alojados em contentores do Cloud Storage. Também lhe permite manipular e transformar os dados em vários passos da importação. Pode usar o modelo para importações iniciais e importações incrementais.

Requisitos do pipeline

  • Uma instância do Neo4j em execução
  • Um contentor do Cloud Storage
  • Um conjunto de dados a importar, sob a forma de ficheiros CSV
  • Um ficheiro de especificação de trabalho a usar

Crie um ficheiro de especificação de trabalho

O ficheiro de especificação da tarefa consiste num objeto JSON com as seguintes secções:

  • config: flags globais que afetam a forma como a importação é realizada.
  • sources: definições de origens de dados (relacionais).
  • targets: definições de destino de dados (gráfico: nós/relações).
  • actions: ações de pré/pós-carregamento.

Para mais informações, consulte o artigo Crie um ficheiro de especificação de tarefas na documentação do Neo4j.

Parâmetros de modelos

Parâmetros obrigatórios

  • jobSpecUri: o caminho para o ficheiro de especificação do trabalho, que contém a descrição JSON das origens de dados, dos destinos do Neo4j e das ações.

Parâmetros opcionais

  • neo4jConnectionUri: o caminho para o ficheiro JSON de ligação do Neo4j.
  • neo4jConnectionSecretId: o ID secreto dos metadados da ligação do Neo4j. Pode usar este valor como alternativa ao neo4jConnectionUri.
  • optionsJson: um objeto JSON também denominado tokens de tempo de execução. Por exemplo, {token1:value1,token2:value2}. Spec can refer to $token1 and $token2.. A predefinição é vazio.
  • readQuery: substituição da consulta SQL. A predefinição é vazio.
  • inputFilePattern: a substituição do caminho do ficheiro de texto. Por exemplo, gs://your-bucket/path/*.json. A predefinição é vazio.
  • disabledAlgorithms: algoritmos separados por vírgulas a desativar. Se este valor estiver definido como none, nenhum algoritmo é desativado. Use este parâmetro com cuidado, porque os algoritmos desativados por predefinição podem ter vulnerabilidades ou problemas de desempenho. Por exemplo, SSLv3, RC4.
  • extraFilesToStage: caminhos do Cloud Storage ou Secrets do Secret Manager separados por vírgulas para ficheiros a serem preparados no trabalhador. Estes ficheiros são guardados no diretório /extra_files em cada trabalhador. Por exemplo, gs://<BUCKET_NAME>/file.txt,projects/<PROJECT_ID>/secrets/<SECRET_ID>/versions/<VERSION_ID>.

Execute o modelo

Consola

  1. Aceda à página do fluxo de dados Criar tarefa a partir de um modelo.
  2. Aceda a Criar tarefa a partir de modelo
  3. No campo Nome da tarefa, introduza um nome exclusivo para a tarefa.
  4. Opcional: para Ponto final regional, selecione um valor no menu pendente. A região predefinida é us-central1.

    Para ver uma lista das regiões onde pode executar uma tarefa do Dataflow, consulte as localizações do Dataflow.

  5. No menu pendente Modelo do fluxo de dados, selecione the Google Cloud to Neo4j template.
  6. Nos campos de parâmetros fornecidos, introduza os valores dos parâmetros.
  7. Clique em Executar tarefa.

gcloud

Na 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 o seguinte:

  • JOB_NAME: um nome de tarefa exclusivo à sua escolha
  • VERSION: a versão do modelo que quer usar

    Pode usar os seguintes valores:

  • REGION_NAME: a região onde quer implementar a tarefa do Dataflow, por exemplo, us-central1
  • JOB_SPEC_URI: o caminho para o ficheiro de especificação do trabalho
  • NEO4J_CONNECTION_URI: o caminho para os metadados de ligação do Neo4j

API

Para executar o modelo através da API REST, envie um pedido HTTP POST. Para mais informações sobre a API e os respetivos âmbitos 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 o seguinte:

  • PROJECT_ID: o ID do projeto onde quer executar a tarefa do Dataflow Google Cloud
  • JOB_NAME: um nome de tarefa exclusivo à sua escolha
  • VERSION: a versão do modelo que quer usar

    Pode usar os seguintes valores:

  • LOCATION: a região onde quer implementar a tarefa do Dataflow, por exemplo, us-central1
  • JOB_SPEC_URI: o caminho para o ficheiro de especificação do trabalho
  • NEO4J_CONNECTION_URI: o caminho para os metadados de ligação do Neo4j

O que se segue?