Modèle Google Cloud vers Neo4j

Le modèle Google Cloud vers Neo4j vous permet d'importer un ensemble de données dans une base de données Neo4j via une tâche Dataflow, en obtenant les données à partir de fichiers CSV hébergés dans des buckets Cloud Storage. Il vous permet également de manipuler et de transformer les données à différentes étapes de l'importation. Vous pouvez utiliser ce modèle aussi bien pour les importations initiales que pour les importations incrémentielles.

Conditions requises pour ce pipeline

  • Une instance Neo4j en cours d'exécution
  • Un bucket Cloud Storage
  • Un ensemble de données à importer, sous la forme de fichiers CSV
  • Un fichier de spécification de tâche à utiliser

Créer un fichier de spécification de tâche

Le fichier de spécification de tâche comprend un objet JSON avec les sections suivantes :

  • config : options globales affectant la façon dont l'importation est effectuée.
  • sources : définitions de sources de données (relationnelle).
  • targets : définitions de cibles de données (graphe : nœuds/relations).
  • actions : actions préalables ou faisant suite au chargement.

Pour en savoir plus, consultez la page Créer un fichier de spécification de tâche dans la documentation de Neo4j.

Paramètres de modèle

Paramètres Description
jobSpecUri Chemin d'accès au fichier de spécification de la tâche, qui contient la configuration des métadonnées source et cible.
neo4jConnectionUri Chemin d'accès au fichier JSON des métadonnées de connexion Neo4j.
optionsJson Facultatif : options JSON. Utilise des jetons d'exécution. Exemple : {token1:value1,token2:value2}. La valeur par défaut est vide.
readQuery Facultatif : remplace la requête SQL. La valeur par défaut est vide.
inputFilePattern Facultatif : Remplace le modèle de fichier texte. Exemple : gs://your-bucket/path/*.json. La valeur par défaut est vide.
disabledAlgorithms Facultatif : algorithmes à désactiver, séparés par une virgule. Si cette valeur est définie sur none, aucun algorithme n'est désactivé. Soyez prudent, car les algorithmes désactivés par défaut souffrent de failles ou de problèmes de performances connus. Par exemple : SSLv3, RC4.
extraFilesToStage Facultatif : chemins d'accès Cloud Storage ou secrets Secret Manager, séparés par une virgule, afin que les fichiers soient traités dans le nœud de calcul. Ces fichiers sont enregistrés sous le répertoire /extra_files de chaque nœud de calcul. Par exemple : gs://your-bucket/file.txt,projects/project-id/secrets/secret-id/versions/version-id.

Exécuter le modèle

Console

  1. Accédez à la page Dataflow Créer un job à partir d'un modèle.
  2. Accéder à la page Créer un job à partir d'un modèle
  3. Dans le champ Nom du job, saisissez un nom de job unique.
  4. Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. La région par défaut est us-central1.

    Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter un job Dataflow, consultez la page Emplacements Dataflow.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez the Google Cloud to Neo4j template.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. Cliquez sur Run Job (Exécuter la tâche).

gcloud

Dans le shell ou le terminal, exécutez le modèle :

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

Remplacez les éléments suivants :

  • JOB_NAME : nom unique de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

  • REGION_NAME : région dans laquelle vous souhaitez déployer votre job Dataflow, par exemple us-central1
  • JOB_SPEC_URI : chemin d'accès au fichier de spécification de la tâche
  • NEO4J_CONNECTION_URI : chemin d'accès aux métadonnées de connexion Neo4j

API

Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API, ses autorisations et leurs champs d'application, consultez la section 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" }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Google Cloud dans lequel vous souhaitez exécuter le job Dataflow
  • JOB_NAME : nom unique de la tâche de votre choix
  • VERSION : version du modèle que vous souhaitez utiliser

    Vous pouvez utiliser les valeurs suivantes :

  • LOCATION : région dans laquelle vous souhaitez déployer votre job Dataflow, par exemple us-central1
  • JOB_SPEC_URI : chemin d'accès au fichier de spécification de la tâche
  • NEO4J_CONNECTION_URI : chemin d'accès aux métadonnées de connexion Neo4j

Étapes suivantes