Modello da Google Cloud a Neo4j

Il modello da Google Cloud a Neo4j consente di importare un set di dati in un database Neo4j tramite un job Dataflow, attingendo ai dati da file CSV ospitati nei bucket Cloud Storage. Consente inoltre di manipolare e trasformare i dati in vari passaggi dell'importazione. Puoi utilizzare il modello sia per le prime importazioni 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 specifiche del job da utilizzare

Crea un file di specifiche del job

Il file delle specifiche 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 dell'origine dati (relazionale).
  • targets: definizioni del target di dati (grafico: nodi/relazioni).
  • actions: azioni di pre/post-caricamento.

Per ulteriori informazioni, consulta la sezione Creare un file di specifiche del job nella documentazione di Neo4j.

Parametri del modello

Parametri obbligatori

  • jobSpecUri : il percorso del file di specifiche 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 : opzioni JSON. Utilizzare i token di runtime. ad esempio {token1:value1,token2:value2}). Il campo predefinito è vuoto.
  • readQuery : esegui l'override della query SQL. Il campo predefinito è vuoto.
  • inputFilePattern : esegue l'override del pattern del file di testo (ad esempio: gs://your-bucket/path/*.json). Il campo predefinito è vuoto.
  • disabledAlgorithms : algoritmi separati da virgole da disabilitare. 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. (Esempio: 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. La regione predefinita è us-central1.

    Per un elenco di regioni in cui è possibile 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 job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

    • latest per utilizzare la versione più recente del modello, disponibile nella cartella padre non con data del bucket: gs://dataflow-templates-REGION_NAME/latest/
    • il nome della versione, ad esempio 2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che è possibile trovare nidificata nella rispettiva cartella principale con data nel bucket: gs://dataflow-templates-REGION_NAME/
  • REGION_NAME: la regione in cui vuoi 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

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori 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 del progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

    • latest per utilizzare la versione più recente del modello, disponibile nella cartella padre non con data del bucket: gs://dataflow-templates-REGION_NAME/latest/
    • il nome della versione, ad esempio 2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che è possibile trovare nidificata nella rispettiva cartella principale con data nel bucket: gs://dataflow-templates-REGION_NAME/
  • LOCATION: la regione in cui vuoi 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