Cloud Storage-Batchquelle

Auf dieser Seite finden Sie eine Anleitung zum Konfigurieren des Cloud Storage-Plug-ins für Batchquellen in Cloud Data Fusion.

Mit dem Batch-Quell-Plug-in von Cloud Storage können Sie Daten aus Cloud Storage-Buckets lesen und zur weiteren Verarbeitung und Transformation in Cloud Data Fusion importieren. Sie können damit Daten aus verschiedenen Dateiformaten laden, darunter:

  • Strukturiert: CSV, Avro, Parquet, ORC
  • Semistrukturiert: JSON, XML
  • Sonstiges: Text, Binär

Hinweise

Cloud Data Fusion hat in der Regel zwei Dienstkonten:

Gewähren Sie jedem Dienstkonto die folgende Rolle oder die folgenden Berechtigungen, bevor Sie das Batch-Quell-Plug-in von Cloud Storage verwenden.

Cloud Data Fusion API-Dienst-Agent

Dieses Dienstkonto hat bereits alle erforderlichen Berechtigungen und Sie müssen keine zusätzlichen Berechtigungen hinzufügen.

Compute Engine-Dienstkonto

Erteilen Sie in Ihrem Google Cloud-Projekt dem Compute Engine-Dienstkonto die folgenden IAM-Rollen oder -Berechtigungen:

  • Leser alter Storage-Buckets (roles/storage.legacyBucketReader). Diese vordefinierte Rolle enthält die erforderliche Berechtigung storage.buckets.get.
  • Storage Object Viewer (roles/storage.legacyBucketReader). Diese vordefinierte Rolle enthält die folgenden erforderlichen Berechtigungen:

    • storage.objects.get
    • storage.objects.list

Plug-in konfigurieren

  1. Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
  2. Prüfen Sie, ob Data Pipeline – Batch (Datenpipeline – Batch) ausgewählt ist (nicht Realtime).
  3. Klicken Sie im Menü Source (Quelle) auf GCS. Der Cloud Storage-Knoten wird in Ihrer Pipeline angezeigt.
  4. Rufen Sie den Cloud Storage-Knoten auf und klicken Sie auf Eigenschaften, um die Quelle zu konfigurieren.
  5. Geben Sie die folgenden Eigenschaften ein. Eine vollständige Liste finden Sie unter Eigenschaften.

    1. Geben Sie ein Label für den Cloud Storage-Knoten ein, z. B. Cloud Storage tables.
    2. Geben Sie die Verbindungsdetails ein. Sie können eine neue, einmalige Verbindung oder eine vorhandene, wiederverwendbare Verbindung einrichten.

      Neue Verbindung

      So fügen Sie eine einmalige Verbindung zu Cloud Storage hinzu:

      1. Die Option Verbindung verwenden bleibt deaktiviert.
      2. Übernehmen Sie im Feld Projekt-ID den Wert „Automatisch erkennen“.
      3. Übernehmen Sie im Feld Dienstkontotyp den Wert Dateipfad und den Dateipfad des Dienstkontos automatisch.

      Wiederverwendbare Verbindung

      So verwenden Sie eine vorhandene Verbindung wieder:

      1. Aktivieren Sie Verbindung verwenden.
      2. Klicken Sie auf Verbindungen durchsuchen.
      3. Klicken Sie auf den Namen der Verbindung, z. B. Cloud Storage-Standard.

      4. Optional: Wenn keine Verbindung vorhanden ist und Sie eine neue wiederverwendbare Verbindung erstellen möchten, klicken Sie auf Verbindung hinzufügen und folgen Sie der Anleitung auf dem Tab Neue Verbindung auf dieser Seite.

    3. Geben Sie im Feld Referenzname einen Namen für die Herkunft ein, z. B. data-fusion-gcs-campaign.

    4. Geben Sie im Feld Pfad den Pfad ein, aus dem gelesen werden soll, z. B. gs://BUCKET_PATH.

    5. Wählen Sie im Feld Format eines der folgenden Dateiformate für die gelesenen Daten aus:

      • avro
      • blob (Das Blob-Format erfordert ein Schema, das einen Feldnamen mit dem Typ "bytes" enthält)
      • csv
      • Trennzeichen
      • json
      • parquet
      • text: Für das Textformat ist ein Schema erforderlich, das ein Feld mit dem Textkörper vom Typ "string" enthält.
      • TSV
      • Der Name eines beliebigen Format-Plug-ins, das Sie in Ihrer Umgebung bereitgestellt haben
    6. Optional: Klicken Sie auf Schema abrufen, um die Verbindung zu testen.

    7. Optional: Geben Sie im Feld Stichprobengröße die maximale Anzahl von Zeilen ein, die auf den ausgewählten Datentyp geprüft werden sollen, z. B. 1000.

    8. Optional: Geben Sie im Feld Überschreiben die Spaltennamen und die entsprechenden Datentypen ein, die übersprungen werden sollen.

    9. Optional: Geben Sie Erweiterte Eigenschaften ein, z. B. eine minimale Split-Größe oder einen Pfadfilter mit regulären Ausdrücken (siehe Eigenschaften).

    10. Optional: Geben Sie im Feld Name des temporären Buckets einen Namen für den Cloud Storage-Bucket ein.

  6. Optional: Klicken Sie auf Validieren und beheben Sie alle gefundenen Fehler.

  7. Klicken Sie auf Schließen. Die Eigenschaften werden gespeichert und Sie können die Datenpipeline in Cloud Data Fusion Studio weiter erstellen.

Attribute

Attribut Makro aktiviert Erforderliches Attribut Beschreibung
Label Nein Ja Der Name des Knotens in Ihrer Datenpipeline.
Verbindung verwenden Nein Nein Suchen Sie nach einer wiederverwendbaren Verbindung zur Quelle. Weitere Informationen zum Hinzufügen, Importieren und Bearbeiten der Verbindungen, die beim Durchsuchen von Verbindungen angezeigt werden, finden Sie unter Verbindungen verwalten.
Verbindung Ja Ja Wenn Verbindung verwenden aktiviert ist, wird der Name der von Ihnen ausgewählten wiederverwendbaren Verbindung in diesem Feld angezeigt.
Projekt-ID Ja Nein Wird nur verwendet, wenn Verbindung verwenden deaktiviert ist. Eine global eindeutige Kennzeichnung für das Projekt.
Der Standardwert ist auto-detect.
Dienstkontotyp Ja Nein Wählen Sie eine der folgenden Optionen aus:
  • Dateipfad: Der Pfad, in dem sich das Dienstkonto befindet.
  • JSON: JSON-Inhalt des Dienstkontos.
Service account file path (Dateipfad des Dienstkontos) Ja Nein Wird nur verwendet, wenn der Wert des Dienstkontotyps Dateipfad ist. Der Pfad im lokalen Dateisystem des Dienstkontoschlüssels, der für die Autorisierung verwendet wird. Wenn Jobs in Dataproc-Clustern ausgeführt werden, setzen Sie den Wert auf „Automatisch erkennen“. Wenn Jobs in anderen Clustertypen ausgeführt werden, muss die Datei auf jedem Knoten im Cluster vorhanden sein.
Der Standardwert ist auto-detect.
Dienstkonto-JSON-Datei Ja Nein Wird nur verwendet, wenn der Wert des Dienstkontotyps JSON ist. Der Inhalt der JSON-Datei des Dienstkontos.
Referenzname Nein Ja Name, der diese Quelle für andere Dienste eindeutig identifiziert, z. B. die Herkunft und das Annotieren von Metadaten.
Pfad Ja Ja Pfad zu den zu lesenden Dateien. Wenn ein Verzeichnis angegeben ist, beenden Sie den Pfad mit einem umgekehrten Schrägstrich (/). Beispiel: gs://bucket/path/to/directory/. Wenn Sie einem Dateinamenmuster entsprechen möchten, können Sie ein Sternchen (*) als Platzhalter verwenden. Wenn keine Dateien gefunden oder abgeglichen werden, schlägt die Pipeline fehl.
Format Nein Ja Format der zu lesenden Daten. Folgende Formate sind zulässig:
  • avro
  • blob: Das Blob-Format erfordert ein Schema, das ein Feld mit dem Namen "body" vom Typ "bytes" enthält.)
  • csv
  • Trennzeichen
  • json
  • parquet
  • text: Für das Textformat ist ein Schema erforderlich, das ein Feld mit dem Namen "body" vom Typ "string" enthält.
  • TSV
  • Der Name eines beliebigen Format-Plug-ins, das Sie in Ihrer Umgebung bereitgestellt haben
  • Wenn das Format ein Makro ist, können nur die vorkonfigurierten Formate verwendet werden.
Stichprobengröße Ja Nein Die maximale Anzahl der Zeilen, die für die automatische Datentyperkennung untersucht werden. Der Standardwert ist 1000.
Überschreiben Ja Nein Eine Liste von Spalten mit den entsprechenden Daten, aus denen die automatische Datentyperkennung übersprungen wird.
Trennzeichen Ja Nein Trennzeichen, das verwendet werden soll, wenn das Format mit Trennzeichen verwendet wird. Bei anderen Formaten wird diese Eigenschaft ignoriert.
Werte in Anführungszeichen aktivieren Ja Nein Gibt an, ob der Inhalt in Anführungszeichen als Wert behandelt werden soll. Diese Eigenschaft wird nur für die Formate csv, csv oder csv verwendet. Wenn dieses Attribut beispielsweise auf „true“ gesetzt ist, werden zwei Felder ausgegeben: 1, "a, b, c". Das erste Feld hat 1 als Wert. Die zweite hat a, b, c. Die Anführungszeichen werden abgeschnitten. Das Trennzeichen für den Zeilenumbruch darf nicht in Anführungszeichen gesetzt werden.
Das Plug-in geht davon aus, dass die Anführungszeichen korrekt eingeschlossen sind, z. B. "a, b, c". Wenn ein Angebot nicht geschlossen wird ("a,b,c,), tritt ein Fehler auf.
Der Standardwert ist False.
Erste Zeile als Kopfzeile verwenden Ja Nein Gibt an, ob die erste Zeile jeder Datei als Spaltenüberschrift verwendet werden soll. Unterstützte Formate sind Text, CSV, TSV und Trennzeichen.
Der Standardwert ist False.
Minimale Split-Größe Ja Nein Mindestgröße in Byte für jede Eingabepartition. Kleinere Partitionen erhöhen den Grad der Parallelität, erfordern aber mehr Ressourcen und Aufwand.
Wenn der Wert für Format blob ist, können die Daten nicht aufgeteilt werden.
Maximale Split-Größe Ja Nein Maximale Größe in Byte für jede Eingabepartition. Kleinere Partitionen erhöhen den Grad der Parallelität, erfordern aber mehr Ressourcen und Aufwand.
Wenn der Wert für Format blob ist, können die Daten nicht aufgeteilt werden.
Der Standardwert ist 128 MB.
Regex-Pfadfilter Ja Nein Regulärer Ausdruck, nach dem Dateipfade übereinstimmen müssen, um in die Eingabe aufgenommen zu werden. Es wird der vollständige Pfad verglichen, nicht nur der Dateiname. Wenn keine Datei angegeben ist, wird keine Dateifilterung durchgeführt. Weitere Informationen zur Syntax für reguläre Ausdrücke finden Sie unter Muster.
Pfad-Feld Ja Nein Ausgabefeld für den Pfad der Datei, aus der der Datensatz gelesen wurde. Wenn nicht angegeben, ist der Pfad nicht in den Ausgabeeinträgen enthalten. Wenn das Feld angegeben wird, muss es im Ausgabeschema als String vorhanden sein.
Nur Pfad-Dateiname Ja Nein Wenn eine Eigenschaft Pfadfeld festgelegt ist, verwenden Sie nur den Dateinamen und nicht den URI des Pfads.
Der Standardwert ist False.
Dateien rekursiv lesen Ja Nein Gibt an, ob Dateien rekursiv aus dem Pfad gelesen werden sollen.
Der Standardwert ist False.
Leere Eingabe zulassen Ja Nein Gibt an, ob ein Eingabepfad ohne Daten zulässig ist. Wenn dieser Wert auf False gesetzt ist, gibt das Plug-in einen Fehler aus, wenn keine Daten zum Lesen vorhanden sind. Wenn True festgelegt ist, wird kein Fehler ausgegeben und es werden keine Datensätze gelesen.
Der Standardwert ist False.
Datendatei verschlüsselt Ja Nein Gibt an, ob Dateien verschlüsselt sind. Weitere Informationen finden Sie unter Datendateiverschlüsselung.
Der Standardwert ist False.
Suffix der Verschlüsselungsmetadaten Ja Nein Das Dateinamensuffix für die Verschlüsselungsmetadatendatei.
Der Standardwert ist metadata.
Dateisystemeigenschaften Ja Nein Zusätzliche Attribute, die beim Lesen der Daten mit dem InputFormat verwendet werden.
Dateicodierung Ja Nein Die Zeichencodierung für die zu lesenden Dateien.
Der Standardwert ist UTF-8.
Ausgabeschema Ja Nein Wenn eine Eigenschaft Pfad-Feld festgelegt ist, muss sie im Schema als String vorhanden sein.

Datendateiverschlüsselung

In diesem Abschnitt wird das Attribut Datendateiverschlüsselung beschrieben. Wenn Sie true festlegen, werden Dateien mit dem von der Tink-Bibliothek bereitgestellten Streaming AEAD entschlüsselt. Jeder Datendatei muss eine Metadatendatei mit den Chiffreinformationen beigefügt sein. Beispielsweise muss eine verschlüsselte Datendatei unter gs://BUCKET/PATH_TO_DIRECTORY/file1.csv.enc eine Metadatendatei unter gs://BUCKET/ PATH_TO_DIRECTORY/file1.csv.enc.metadata haben. Die Metadatendatei enthält ein JSON-Objekt mit den folgenden Attributen:

Attribut Beschreibung
kms Der URI des Cloud Key Management Service, der zum Verschlüsseln des Datenverschlüsselungsschlüssels verwendet wurde.
aad Die für die Verschlüsselung verwendeten Base64-codierten zusätzlichen authentifizierten Daten.
key set Ein JSON-Objekt, das die seriellen Keyset-Informationen aus der Tink-Bibliothek darstellt.

Beispiel

    /* Counting example */
    {

      "kms": "gcp-kms://projects/my-key-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/mykey",

      "aad": "73iT4SUJBM24umXecCCf3A==",

      "keyset": {

          "keysetInfo": {

              "primaryKeyId": 602257784,

              "keyInfo": [{

                  "typeUrl": "type.googleapis.com/google.crypto.tink.AesGcmHkdfStreamingKey",

                  "outputPrefixType": "RAW",

                  "keyId": 602257784,

                  "status": "ENABLED"

              }]

          },

          "encryptedKeyset": "CiQAz5HH+nUA0Zuqnz4LCnBEVTHS72s/zwjpcnAMIPGpW6kxLggSrAEAcJKHmXeg8kfJ3GD4GuFeWDZzgGn3tfolk6Yf5d7rxKxDEChIMWJWGhWlDHbBW5B9HqWfKx2nQWSC+zjM8FLefVtPYrdJ8n6Eg8ksAnSyXmhN5LoIj6az3XBugtXvCCotQHrBuyoDY+j5ZH9J4tm/bzrLEjCdWAc+oAlhsUAV77jZhowJr6EBiyVuRVfcwLwiscWkQ9J7jjHc7ih9HKfnqAZmQ6iWP36OMrEn"

      }

    }
    

Versionshinweise

Nächste Schritte