Il modello Google Cloud a Neo4j consente di importare un set di dati in un database Neo4j tramite un job Dataflow, recuperando i dati da file CSV ospitati in bucket Cloud Storage. Consente anche di manipolare e trasformare i dati in varie fasi dell'importazione. Puoi utilizzare il modello sia per le importazioni iniziali che per quelle incrementali.
Requisiti della pipeline
- Un'istanza Neo4j in esecuzione
- Un bucket Cloud Storage
- Un set di dati da importare, sotto forma di file CSV
- Un file di specifica del job da utilizzare
Creare 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 sulla modalità di esecuzione dell'importazione.sources: definizioni delle origini dati (relazionali).targets: definizioni della destinazione dei dati (grafico: nodi/relazioni).actions: azioni pre/post-caricamento.
Per ulteriori informazioni, consulta Creare un file di specifiche del job nella documentazione di Neo4j.
Parametri del modello
Parametri obbligatori
- jobSpecUri: il percorso del file di specifica del job, che contiene la descrizione JSON delle origini dati, delle destinazioni Neo4j e delle azioni.
Parametri facoltativi
- neo4jConnectionUri: il percorso del file JSON di connessione Neo4j.
- neo4jConnectionSecretId: l'ID secret per i metadati della connessione Neo4j. Puoi utilizzare questo valore in alternativa a
neo4jConnectionUri. - optionsJson: un oggetto JSON chiamato anche token di runtime. Ad esempio,
{token1:value1,token2:value2}. Spec can refer to $token1 and $token2.. Il valore predefinito è vuoto. - readQuery: override della query SQL. Il valore predefinito è vuoto.
- inputFilePattern: l'override del percorso 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
none, nessun algoritmo viene disattivato. Utilizza questo parametro con cautela, perché gli algoritmi disabilitati per impostazione predefinita potrebbero presentare vulnerabilità o problemi di prestazioni. Ad esempio:SSLv3, RC4. - extraFilesToStage: percorsi Cloud Storage o secret Secret Manager separati da virgole per i file da preparare nel worker. Questi file vengono salvati nella directory /extra_files di ogni worker. Ad esempio,
gs://<BUCKET_NAME>/file.txt,projects/<PROJECT_ID>/secrets/<SECRET_ID>/versions/<VERSION_ID>.
Esegui il modello
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. La regione
predefinita è
us-central1.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.
- Nel menu a discesa Modello Dataflow, seleziona il modello Google Cloud a Neo4j.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- 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/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 univoco del job a tua sceltaVERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare l'ultima versione del modello, disponibile nella cartella principale senza data nel bucket: gs://dataflow-templates/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale con data nel bucket: gs://dataflow-templates/
REGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1JOB_SPEC_URI: il percorso del file di specifica del jobNEO4J_CONNECTION_URI: il percorso dei metadati della connessione Neo4j
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta HTTP POST. Per saperne di più 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/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 DataflowJOB_NAME: un nome univoco del job a tua sceltaVERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare l'ultima versione del modello, disponibile nella cartella principale senza data nel bucket: gs://dataflow-templates/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale con data nel bucket: gs://dataflow-templates/
LOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1JOB_SPEC_URI: il percorso del file di specifica del jobNEO4J_CONNECTION_URI: il percorso dei metadati della connessione Neo4j
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.