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 obligatoires

  • 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.

Paramètres facultatifs

  • neo4jConnectionUri : chemin d'accès au fichier JSON des métadonnées de connexion Neo4j.
  • neo4jConnectionSecretId : ID du secret pour les métadonnées de connexion Neo4j. Il s'agit d'une alternative à l'option de chemin d'accès GCS.
  • optionsJson : options JSON. Utilise des jetons d'exécution. (Exemple: {token1:value1,token2:value2}). La valeur par défaut est vide.
  • readQuery : remplace la requête SQL. La valeur par défaut est vide.
  • inputFilePattern : remplace le modèle de fichier texte (par exemple: gs://your-bucket/path/*.json). La valeur par défaut est vide.
  • disabledAlgorithms : algorithmes à désactiver, séparés par une virgule. Si cette valeur est définie sur aucun, aucun algorithme n'est désactivé. Utilisez ce paramètre avec prudence, car les algorithmes désactivés par défaut peuvent présenter des failles ou des problèmes de performances. (Exemple : SSLv3, RC4).
  • extraFilesToStage : 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 dans le répertoire "/extra_files" de chaque nœud de calcul. (Exemple : gs://)
  • defaultLogLevel : définit le niveau de journalisation dans les nœuds de calcul. Les options acceptées sont OFF, ERROR, WARN, INFO, DEBUG et TRACE. La valeur par défaut est INFO.

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 de job unique 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 de job unique 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