Modello da Google Cloud a Neo4j

Il modello da Google Cloud a Neo4j consente di importare un set di dati in un database Neo4j attraverso un Job Dataflow, che prende i dati da file CSV ospitati nei bucket Cloud Storage. Inoltre, consente di manipolare e trasformare i dati nei vari passaggi dell'importazione. Puoi utilizzare lo sia per la prima importazione che per le importazioni incrementali.

Requisiti della pipeline

  • Un'istanza Neo4j in esecuzione
  • in un bucket Cloud Storage.
  • Un set di dati da importare sotto forma di file CSV
  • Un file di specifica del job da utilizzare

Crea un file di specifiche del job

Il file di specifica del job è costituito da un oggetto JSON con le seguenti sezioni:

  • config: flag globali che influiscono sul modo in cui viene eseguita l'importazione.
  • sources: definizioni delle origini dati (relazionali).
  • targets: definizioni dei target di dati (grafo: nodi/relazioni).
  • actions: azioni di pre/post-caricamento.

Per ulteriori informazioni, consulta Creare un file di specifica del job nella documentazione di Neo4j.

Parametri del modello

Parametri obbligatori

  • jobSpecUri: il percorso del file di specifica del job, che contiene la configurazione per i metadati di origine e di destinazione.

Parametri facoltativi

  • neo4jConnectionUri : il percorso del file JSON dei metadati della connessione Neo4j.
  • neo4jConnectionSecretId : l'ID secret per i metadati della connessione Neo4j. Questa è un'alternativa all'opzione del percorso GCS.
  • optionsJson: JSON delle opzioni. Utilizzare i token di runtime. (Esempio: {token1:value1,token2:value2}). Il valore predefinito è vuoto.
  • readQuery: sostituisci la query SQL. Il campo predefinito è vuoto.
  • inputFilePattern : esegue l'override del pattern del file di testo (ad esempio: gs://your-bucket/path/*.json). Il valore predefinito è vuoto.
  • disabledAlgorithms : algoritmi separati da virgole da disattivare. Se questo valore è impostato su Nessuno, nessun algoritmo viene disabilitato. Usa questo parametro con cautela, perché gli algoritmi disabilitati per impostazione predefinita potrebbero presentare vulnerabilità o problemi di prestazioni. (ad es. SSLv3, RC4).
  • extraFilesToStage : percorsi Cloud Storage o secret di Secret Manager separati da virgola per i file da inserire nel worker. Questi file vengono salvati nella directory /extra_files di ciascun worker. Esempio: gs://
  • defaultLogLevel : imposta il livello di log nei worker. Le opzioni supportate sono OFF, ERROR, WARN, INFO, DEBUG, TRACE. Il valore predefinito è INFO.

Esegui il modello

Console

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. Il valore predefinito è us-central1.

    Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.

  5. Dal menu a discesa Modello Dataflow, seleziona the Google Cloud to Neo4j template.
  6. Inserisci i valori parametro negli appositi campi.
  7. Fai clic su Esegui job.

gcloud

Nella shell o nel terminale, esegui il modello:

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

Sostituisci quanto segue:

  • JOB_NAME: un nome di job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • REGION_NAME: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • JOB_SPEC_URI: il percorso del file di specifica del job
  • NEO4J_CONNECTION_URI: il percorso dei metadati di connessione Neo4j

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per ulteriori informazioni sull'API e sui relativi ambiti di autorizzazione, consulta 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" }
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: L'ID progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome di job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • LOCATION: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • JOB_SPEC_URI: il percorso del file di specifiche del job
  • NEO4J_CONNECTION_URI: il percorso dei metadati di connessione Neo4j

Passaggi successivi