Vorlage Google Cloud to Neo4j

Mit der Vorlage Google Cloud zu Neo4j können Sie ein Dataset über einen Dataflow-Job in eine Neo4j-Datenbank importieren und Daten aus CSV-Dateien abrufen, die in Cloud Storage-Buckets gehostet werden. Außerdem können Sie die Daten bei verschiedenen Importschritten bearbeiten und transformieren. Sie können die Vorlage sowohl für erstmalige als auch für inkrementelle Importe verwenden.

Pipelineanforderungen

  • Eine ausgeführte Neo4j-Instanz
  • Ein Cloud Storage-Bucket
  • Ein zu importierendes Dataset in Form von CSV-Dateien
  • Eine zu verwendende Jobspezifikationsdatei

Jobspezifikationsdatei erstellen

Die Jobspezifikationsdatei besteht aus einem JSON-Objekt mit den folgenden Abschnitten:

  • config: Globale Flags, die sich auf die Ausführung des Imports auswirken.
  • sources: Datenquellendefinitionen (relational).
  • targets: Datenzieldefinitionen (Grafik: Knoten/Beziehungen).
  • actions: Aktionen vor und nach dem Laden.

Weitere Informationen finden Sie in der Neo4j-Dokumentation unter Jobspezifikationsdatei erstellen.

Vorlagenparameter

Erforderliche Parameter

  • jobSpecUri: Der Pfad zur Jobspezifikationsdatei, die die Konfiguration für Quell- und Zielmetadaten enthält.

Optionale Parameter

  • neo4jConnectionUri: Der Pfad zur JSON-Datei der Neo4j-Verbindungsmetadaten. Dies ist eine Alternative zur Secret-Option.
  • neo4jConnectionSecretId: Die Secret-ID für die Neo4j-Verbindungsmetadaten. Dies ist eine Alternative zur GCS-Pfadoption.
  • optionsJson: JSON-Optionen. Verwenden Sie Laufzeittokens. (Beispiel: {token1:value1,token2:value2}). Die Standardeinstellung ist leer.
  • readQuery: Überschreibt die SQL-Abfrage. Die Standardeinstellung ist leer.
  • inputFilePattern: Überschreibt das Textdateimuster (Beispiel: gs://your-bucket/path/*.json). Die Standardeinstellung ist leer.
  • disabledAlgorithms : Durch Kommas getrennte Algorithmen zum Deaktivieren. Wenn dieser Wert auf none gesetzt ist, wird kein Algorithmus deaktiviert. Seien Sie bei der Verwendung vorsichtig, da die standardmäßig deaktivierten Algorithmen entweder Sicherheitslücken oder Leistungsprobleme aufweisen. (Beispiel: SSLv3, RC4).
  • extraFilesToStage : Durch Kommas getrennte Cloud Storage-Pfade oder Secret Manager-Secrets für Dateien, die im Worker bereitgestellt werden sollen. Diese Dateien werden im Verzeichnis /extra_files in jedem Worker gespeichert (Beispiel: gs://your-bucket/file.txt,projects/project-id/secrets/secret-id/versions/version-id).

Führen Sie die Vorlage aus.

Console

  1. Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf.
  2. Zur Seite "Job aus Vorlage erstellen“
  3. Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
  4. Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Die Standardregion ist us-central1.

    Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.

  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Google Cloud to Neo4j templateaus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

Führen Sie die Vorlage in der Shell oder im Terminal aus:

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

Ersetzen Sie Folgendes:

  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • VERSION: Die Version der Vorlage, die Sie verwenden möchten

    Sie können die folgenden Werte verwenden:

    • latest zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/
    • Den Versionsnamen wie 2023-09-12-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
  • REGION_NAME: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • JOB_SPEC_URI: der Pfad zur Jobspezifikationsdatei
  • NEO4J_CONNECTION_URI: der Pfad zu den Neo4j-Verbindungsmetadaten

API

Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter 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" }
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud-Projekts, in dem Sie den Dataflow-Job ausführen möchten
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • VERSION: Die Version der Vorlage, die Sie verwenden möchten

    Sie können die folgenden Werte verwenden:

    • latest zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/
    • Den Versionsnamen wie 2023-09-12-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
  • LOCATION: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • JOB_SPEC_URI: der Pfad zur Jobspezifikationsdatei
  • NEO4J_CONNECTION_URI: der Pfad zu den Neo4j-Verbindungsmetadaten

Nächste Schritte