Mainframe Connector API-Befehle

In der folgenden Tabelle sind die BigQuery-, Cloud Storage- und anderenGoogle Cloud -Befehle aufgeführt, die Sie mit Mainframe Connector verwenden können.

Produkt Befehl Beschreibung Unterstützt die Remote-Transcodierung
BigQuery-Befehle Mit diesem Befehl erstellen Sie eine Binärdatei. Der Befehl akzeptiert eine COPYBOOK DD als Eingabe.

Hinweis:Wir empfehlen, für diese Aufgabe die Befehle qsam decode und qsam encode zu verwenden. Informationen zu den Vorteilen der Verwendung der qsam-Befehle finden Sie unter Vorteile von qsam-Befehlen.

Der Befehl bq export unterstützt einige Funktionen zur Leistungsoptimierung. Weitere Informationen finden Sie unter Leistungsverbesserungen für den Befehl bq export. Mit dem Befehl bq export können Sie benutzerdefinierte Zeichensätze verwenden. Weitere Informationen finden Sie unter Benutzerdefinierte Zeichensätze verwenden.

Hinweis:Mit dem Befehl bq export werden Anfragen zum Exportieren großer Bigtable-Tabellen abgelehnt. Um Fehler zu vermeiden, fügen Sie dem Befehl bq export das Flag -allowLargeResults hinzu, wenn Sie große Tabellen exportieren möchten.
Ja
Verwenden Sie diesen Befehl, um Daten in eine Tabelle zu laden. Nein
Mit diesem Befehl können Sie BigQuery-Ressourcen wie integrierte Tabellen oder externe Tabellen erstellen, für die Partitionierung und Clustering eingerichtet werden müssen.

Sie können auch den Befehl bq mk verwenden, um eine BigQuery-Tabelle direkt aus dem Parsen von COBOL-Copybooks zu generieren. Weitere Informationen finden Sie unter BigQuery-Tabelle aus einem Copybook erstellen.
Nein
Verwenden Sie diesen Befehl, um einen Abfragejob zu erstellen, der die angegebene SQL-Abfrage ausführt. Der Befehl liest die SQL-Abfrage entweder aus dem Flag --sql oder aus QUERY DD. Wenn beide angegeben sind, hat die Abfrage im --sql-Flag Vorrang.

Mit dem Flag --follow=true können Sie einen Bericht mit den Ergebnissen einer SELECT-Abfrage erstellen. Wenn Sie diesen Bericht in eine Datei auf dem Mainframe schreiben möchten, definieren Sie eine DD-Anweisung AUDITL, die auf die Datei verweist, die den Audit-Logs-Bericht enthalten soll. Verwenden Sie das Flag --follow nicht, wenn Sie das normale Logging-Verhalten wünschen.

Einige Abfrageergebnisse können eine große Anzahl von Zeilen zurückgeben, manchmal in Millionenhöhe. Damit die Ausgabe lesbar bleibt, ist die Anzahl der angezeigten Zeilen begrenzt. Mit dem Flag --report_row_limit können Sie die Anzahl der angezeigten Zeilen steuern. Verwenden Sie beispielsweise --report_row_limit 10, um die Ergebnisse auf 10 Zeilen zu begrenzen. Standardmäßig ist die Anzahl der angezeigten Zeilen auf 30 begrenzt.

Informationen zur Verwendung der bq query-Parametrisierung finden Sie unter bq-Abfrageparametrisierung.
Ja
Mit diesem Befehl können Sie eine BigQuery-Ressource dauerhaft löschen. Da mit diesem Befehl eine Ressource endgültig gelöscht wird, empfehlen wir, ihn mit Vorsicht zu verwenden. Nein
Cloud Run-Befehle Mit diesem Befehl können Sie einen Cloud Run-Job von Ihrem Mainframe aus auslösen. Nein
Mit diesem Befehl können Sie die Logs für eine bestimmte Ausführung eines Cloud Run-Jobs aufrufen. Nein
Mit diesem Befehl können Sie einen Cloud Run-Job abbrechen. Nein
Cloud Storage-Befehle Mit diesem Befehl können Sie Text- oder Binärdaten in Cloud Storage kopieren. Mit dem einfachen binären Kopiermodus können Sie ein Dataset von IBM z/OS unverändert in Cloud Storage kopieren. Optional können Sie die Zeichencodierung von EBCDIC (Extended Binary Coded Decimal Interchange Code) in ASCII UTF‑8 konvertieren und Zeilenumbrüche hinzufügen.

Hinweis:Wir empfehlen, für diese Aufgabe die Befehle copy text zu verwenden, da sie bessere Funktionen bieten.

Mit diesem Befehl können Sie auch Anwendungsquellcode kopieren, der in der Job Control Language (JCL) definiert ist.
Nein
gsutil-Dienstprogramm Mit diesem Befehl können Sie ein Dataset transkodieren und im Dateiformat Optimized Row Columnar (ORC) in Cloud Storage speichern. Mit dem Befehl werden die Daten aus dem INFILE DD und das Datensatzlayout aus der COPYBOOK-Datei gelesen.

Hinweis:Wir empfehlen, für diese Aufgabe die Befehle qsam decode und qsam encode zu verwenden. Informationen zu den Vorteilen der Verwendung der qsam-Befehle finden Sie unter Vorteile von qsam-Befehlen.

Wenn der Befehl die Daten aus einer DSN-Datei (Data Source Name) lesen soll, verwenden Sie die folgenden Flags:
  • --inDsn: Der DSN des Eingabe-Datasets. Falls angegeben, überschreibt dieses Flag die INFILE-DD.
  • --cobDsn: Der DSN des Copybooks. Falls angegeben, überschreibt dieses Flag die COPYBOOK-DD.
Der Befehl öffnet dann eine konfigurierbare Anzahl paralleler Verbindungen zur Cloud Storage API und transkodiert das COBOL-Dataset in das spaltenorientierte und GZIP-komprimierte ORC-Dateiformat. Sie können mit einem Komprimierungsverhältnis von etwa 35% rechnen.

Optional können Sie mit diesem Befehl mit dem Mainframe Connector-gRPC-Dienst interagieren, der auf einer VM auf dem Mainframe ausgeführt wird. Legen Sie dazu die Umgebungsvariablen SRVHOST und SRVPORT fest oder geben Sie den Hostnamen und die Portnummer über Befehlszeilenoptionen an. Wenn der gRPC-Dienst verwendet wird, wird das Eingabe-Dataset zuerst vom Mainframe Connector in Cloud Storage kopiert. Anschließend wird ein RPC-Aufruf (Remote Procedure Call) ausgeführt, um den gRPC-Dienst anzuweisen, die Datei zu transkodieren.

Mit dem Befehl gsutil cp können Sie auch die folgenden Aufgaben ausführen:
Ja
Mit diesem Befehl können Sie Buckets oder Objekte in einem Bucket löschen. Nein
gszutil-Dienstprogramm Das gszutil-Dienstprogramm wird mit dem IBM JZOS Java SDK ausgeführt und bietet einen Shell-Emulator, der gsutil- und BigQuery-Befehlszeilenaufrufe mit JCL akzeptiert.

Hinweis:Wir empfehlen, für diese Aufgabe die Befehle qsam decode und qsam encode zu verwenden. Informationen zu den Vorteilen der Verwendung der qsam-Befehle finden Sie unter Vorteile von qsam-Befehlen.

Das gszutil-Dienstprogramm erweitert die Funktionalität des gsutil-Dienstprogramms, indem es ein Schema in Form eines COPYBOOK DD akzeptiert und damit COBOL-Datasets direkt in ORC transcodiert, bevor sie in Cloud Storage hochgeladen werden. Mit dem Dienstprogramm gszutil können Sie auch BigQuery-Vorgänge query und load mit JCL ausführen.

Das gszutil-Dienstprogramm funktioniert mit dem gRPC-Server, wodurch der Verbrauch von Millionen von Anweisungen pro Sekunde (Million Instructions Per Second, MIPS) reduziert wird. Wir empfehlen, das Dienstprogramm gszutil in Ihrer Produktionsumgebung zu verwenden, um Binärdateien in Cloud Storage in das ORC-Format zu konvertieren.
Nein
qsam- und vsam-Befehle Mit diesem Befehl können Sie QSAM-Dateidatensätze mit dem Argument --output-format in das gewünschte Format transkodieren. Die ursprüngliche QSAM-Datei wird anhand des Werts, den Sie mit dem Argument --max-chunk-size angeben, in Chunks aufgeteilt. Die transkodierte Ausgabe wird im Zielpfad als lexikografisch sortierte Dateien gespeichert. Nein
Mit diesem Befehl können Sie Daten aus einer externen Quelle in eine QSAM-Datei konvertieren. Die Eingabe wird durch den Wert definiert, den Sie mit dem Argument --input-format angeben. Nein
Mit diesem Befehl können Sie VSAM-Dateidatensätze (Virtual Storage Access Method) mit dem Argument --output-format in das gewünschte Format transkodieren. Die ursprüngliche VSAM-Datei wird in Chunks aufgeteilt, die auf dem Wert basieren, den Sie mit dem Argument --max-chunk-size angeben. Die transkodierte Ausgabe wird im Zielpfad als lexikografisch sortierte Dateien gespeichert. Nein
Pub/Sub-Befehle Mit diesem Befehl können Sie eine Nachricht in einem Pub/Sub-Thema veröffentlichen. Nein
Weitere Befehle Mit diesem Befehl können Sie ein binäres Dataset von einem Quellpfad in einen Zielpfad kopieren. Nein
Mit diesem Befehl können Sie eine Datei an einen Speicherort Ihrer Wahl kopieren, z. B. Cloud Storage, und umgekehrt. Nein
Mit diesem Befehl können Sie eine HTTP-Anfrage an einen Webdienst oder REST APIs senden. Nein
Mit diesem Befehl wird die Ausführung einer flexiblen Dataflow-Vorlage ausgelöst. Mit dem Befehl wird ein Job über den angegebenen Flex-Vorlagenpfad ausgeführt. Weitere Informationen finden Sie unter gcloud dataflow flex-template run. Nein
Mit diesem Befehl werden die erforderlichen Systemdaten in der Standardausgabe (stdout) ausgegeben. So kann das Mainframe Connector-Supportteam die erforderlichen Informationen zur Diagnose eines Problems erfassen, ohne dass eine umfangreiche Kundeninteraktion erforderlich ist.
Je nach verwendetem Flag gibt der Befehl systemreport die folgenden Systemdaten aus:
  • --supported_ciphers: Unterstützte Chiffren
  • --available_security_providers: Verfügbare Sicherheitsanbieter
Nein

Benutzerdefinierte Zeichensätze verwenden

Der Mainframe Connector unterstützt verschiedene Zeichensätze, mit denen Byte in BigQuery-Strings decodiert und umgekehrt werden können. Mit Mainframe Connector können Sie einen eigenen benutzerdefinierten Zeichensatz konfigurieren. Sie können einen benutzerdefinierten Zeichensatz konfigurieren, indem Sie eine UCM-Datei (Unicode Character Mapping) erstellen. Mainframe Connector unterstützt die folgende Teilmenge des UCM-Formats:

<code_set_name>               "<name>"
<uconv_class>                 "SBCS"
<subchar>                     \x1A #Example

CHARMAP
#_______ _________
<U0000> \x00 |0       #For the third column, only 0 is supported.
<U0001> \x01 |0
#etc
END CHARMAP

Wenn Sie einen benutzerdefinierten Zeichensatz verwenden möchten, definieren Sie eine Konfigurationsdatei im UCM-Format. Sie können diesen benutzerdefinierten Zeichensatz mit den Befehlen gsutil cp oder bq export verwenden, indem Sie das Flag --encoding=charset festlegen.

Wenn Sie einen benutzerdefinierten Zeichensatz erstellen, prüfen Sie Folgendes:

  • Beachten Sie beim Definieren einer UCM-Datei Folgendes:
    • Der Mainframe Connector unterstützt nur benutzerdefinierte Zeichensätze mit einem Single-Byte-Zeichensatz (SBCS).
    • Mainframe Connector unterstützt nur den UCM-Präzisionsindikator |0.
    • Prüfen Sie, ob sich die UCM-Dateien in den z/OS Unix System Services (USS) und nicht in einem MVS-PDS (Multiple Virtual Storage Partitioned Dataset) befinden.
    • Prüfen Sie, ob die UCM-Dateien im ASCII-Format (American Standard Code for Information Interchange) und nicht im EBCDIC-Format (Extended Binary Coded Decimal Interchange Code) gespeichert sind.
  • Geben Sie eine explizite Zuordnung für jeden möglichen Einzelbyte-Wert zu einem Unicode-Zeichen an. Wenn Sie sich nicht sicher sind, welchem Unicode-Zeichen Sie ein Byte zuordnen möchten, empfehlen wir, es U+FFFD zuzuordnen. Sie können verschiedene Bytefolgen demselben Unicode-Zeichen zuordnen. In diesen Fällen ist die Zuordnung jedoch nicht bidirektional. Wenn Sie also Daten in BigQuery laden und später wieder in eine Binärdatei exportieren, kann sich die Ausgabe vom ursprünglichen Input unterscheiden.
  • Prüfen Sie, ob die Bytefolgen in der zweiten Spalte eindeutig sind. Wenn mehrere Bytefolgen demselben Unicode-Zeichen zugeordnet sind, wird dieses Unicode-Zeichen in eine Bytefolge der letzten definierten Zuordnung in der UCM-Datei decodiert.
  • Prüfen Sie, ob der Mainframe Connector die UCM-Datei finden kann, indem Sie die Umgebungsvariable BQSH_FEATURE_CUSTOM_CHARSET auf den Pfad der UCM-Datei festlegen. Wenn Sie mehrere Zeichensätze verwenden möchten, können Sie die Pfade zu mehreren Zeichensätzen angeben, die durch das Semikolon getrennt sind. Beispiel: BQSH_FEATURE_CUSTOM_CHARSET=path1;path2 path kann entweder auf eine lokale Datei oder auf eine in Cloud Storage gespeicherte Datei verweisen. Wenn Sie die Befehle gsutil cp oder bq export mit dem Flag --remote ausführen, um Remote-Transcodierung durchzuführen, verwendet Mainframe Connector den lokalen Wert, der für die Umgebungsvariable BQSH_FEATURE_CUSTOM_CHARSET festgelegt ist. Das gilt auch, wenn Sie Mainframe Connector im Standalone-Modus ausführen. Wenn sich das Flag --encoding auf einen benutzerdefinierten Zeichensatz bezieht, der nicht dem Wert entspricht, den Sie für BQSH_FEATURE_CUSTOM_CHARSET festgelegt haben (oder wenn Sie BQSH_FEATURE_CUSTOM_CHARSET überhaupt nicht festgelegt haben), wird der Befehl mit einer Fehlermeldung beendet.

Konfiguration zur Leistungsoptimierung für den bq export-Befehl

Mainframe Connector unterstützt die folgende Konfiguration zur Leistungsoptimierung für den Befehl bq export:

  • exporter_thread_count: (Optional) Legen Sie die Anzahl der Worker-Threads fest. Der Standardwert ist 4.
  • max_read_streams: (Optional) Legen Sie die maximale Anzahl von Lesestreams fest. Der Standardwert ist derselbe wie der für exporter_thread_count festgelegte Wert.
  • order_response: (Optional) Wenn Sie dieses Flag auf „true“ setzen, behält der Exporter die Reihenfolge der Abfrageergebnisse bei. Dieses Flag wirkt sich auf die Exportleistung aus. Der Standardwert ist „false“.
  • max_read_queue: (Optional) Legen Sie die maximale Anzahl der Warteschlangen für gelesene Datensätze fest. Der Standardwert ist das Doppelte der Anzahl der Threads.
  • transcoding_buffer: (Optional) Legen Sie die Größe des Transcodierungs-Puffers pro Thread in MB fest. Der Standardwert ist 20 MB.

Sie können auch versuchen, die Transportfenstergröße zu erhöhen, indem Sie die Umgebungsvariable OVERRIDE_GRPC_WINDOW_MB festlegen, um die Leistung zu verbessern. Die Standardfenstergröße beträgt 4 MB.

BigQuery-Tabelle aus einem Copybook erstellen

Mit dem Befehl bq mk können Sie eine BigQuery-Tabelle direkt aus dem Parsen von COBOL-Copybooks generieren. Der native Copybook-Parser extrahiert Standardwerte aus der VALUE-Klausel in einem Copybook und weist sie den entsprechenden Spalten in einer neu erstellten BigQuery-Tabelle zu.

Um Ihnen das Testen dieser Funktion zu erleichtern, bietet der bq mk-Befehl auch einen Probelaufmodus. In diesem Modus können Sie sich eine Vorschau des generierten CREATE TABLE SQL-Befehls ansehen, ohne die Tabelle tatsächlich in BigQuery zu erstellen.

Der Befehl bq mk bietet die folgenden Konfigurationsoptionen zur Unterstützung dieser Funktion:

  • --schema_from_copybook: Gibt das Copybook an, das zum Erstellen der Tabelle verwendet werden soll.
  • --dry_run: (Optional) Wenn diese Option aktiviert ist, wird mit dem Befehl nur der generierte CREATE TABLE SQL-Befehl ausgegeben, ohne ihn auszuführen. Dieses Flag ist standardmäßig auf „false“ gesetzt.
  • --tablespec "[PROJECT_ID]:[DATASET].[TABLE]": Gibt die BigQuery-Projekt-ID, das Dataset und den Tabellennamen für die Zieltabelle an.
  • --encoding: Gibt die Codierung an, die zum Lesen der Copybook-Datei verwendet wird. Der Standardwert ist CP037.

Die folgenden VALUE-Anweisungen werden unterstützt:

VAR1   PIC 9(5) VALUE 55.
*-- Set VAR1 to 55
VAR1   PIC X(5) VALUE aaaa. Set VAR1 to aaaa
VAR1   PIC 9(3) COMP VALUE 3. Set VAR1 to 3 (binary)
VAR1   PIC [9(5), X(5)] VALUE <literal>. Set VAR1 to <literal>
VAR1   PIC [9(5), X(5)] VALUE ZERO. Set VAR1 to 0 or "0"
VAR1   PIC [9(5), X(5)] VALUE ZEROS. Set VAR1 to 0 or "00000"
VAR1   PIC [9(5), X(5)] VALUE ZEROES. Set VAR1 to 0 or "00000"
VAR1   PIC X(5) VALUE SPACE. Set VAR1 to  " "
VAR1   PIC X(5) VALUE SPACES. Set VAR1 to  "     "

HIGH-VALUE- und LOW-VALUE-Klauseln werden nur für alphanumerische Variablen unterstützt.

VAR1   PIC X(5) VALUE HIGH-VALUE. Set VAR1 to `X"FF "
VAR1   PIC X(5) VALUE HIGH-VALUES. Set VAR1 to 0 or `X"FFFFFFFFFF"
VAR1   PIC X(5) VALUE LOW-VALUE. Set VAR1 to `X"00" (NULL)
VAR1   PIC X(5) VALUE LOW-VALUES. Set VAR1 to `X"0000000000" (NULL)
VAR1   PIC X(5) VALUE QUOTE. Set VAR1 to `"`
VAR1   PIC X(5) VALUE `QUOTES`. Set VAR1 to 0 or `""""`
VAR1   PIC [9(5), X(5)] VALUE NULL. Not defined and won't be supported
VAR1   PIC [9(5), X(5)] VALUE ALL <literal>. Set all fields with the value ALL to <literal>

bq query-Parametrisierung

Mit Mainframe Connector können Sie parametrisierte Abfragen mit bq query verwenden.

Im Folgenden finden Sie ein Beispiel für die Verwendung einer parametrisierten bq query-Abfrage:

Abfragedatei

SELECT * FROM `bigquery-public-data.samples.wikipedia` WHERE title = @xtitle

Im Folgenden sehen Sie ein Beispiel mit mehreren Parametern.

Abfragedatei

SELECT * FROM bigquery-public-data.samples.wikipedia WHERE title = @mytitle AND num_characters > @min_chars;

Beispiel für die Ausführung

bq query \
--project_id=mainframe-connector-dev \
--location="US" \
--parameters=mytitle::Hippocrates,min_chars:INT64:42600

Probelauf des Befehls gsutil cp durchführen

Mit dem Befehl gsutil cp wird eine QSAM-Datei mit einem COBOL-Copybook decodiert und eine ORC-Datei in Cloud Storage generiert. Sie können einen Probelauf des gsutil cp-Befehls mit dem dry_run-Flag durchführen und die folgenden Schritte testen:

  • Ein COBOL-Copybook oder eine Datendatei parsen und prüfen, ob sie mit Mainframe Connector kompatibel ist.
  • QSAM-Datei decodieren, ohne sie in Cloud Storage zu schreiben.

Verwenden Sie den folgenden Befehl, um einen Probelauf durchzuführen:

gsutil cp \
--dry_run \
gs://result-dir

Wenn alle Schritte erfolgreich ausgeführt werden, wird der Befehl mit dem Rückgabecode 0 beendet. Wenn Probleme auftreten, wird eine Fehlermeldung angezeigt.

Wenn Sie das Flag dry_run verwenden, werden alle Statistiken wie die Gesamtzahl der gelesenen Byte, die Anzahl der geschriebenen Datensätze und die Gesamtzahl der Fehler protokolliert.

Wenn Sie das Flag dry_run verwenden und die Datenquelle nicht vorhanden ist, gibt der Befehl keinen Fehler zurück. Stattdessen wird nur der Copybook-Parser geprüft und die Ausführung dann abgeschlossen.

Datei aus Cloud Storage auf den Mainframe kopieren

Mit dem Befehl gsutil cp können Sie eine Datei aus Cloud Storage in ein Mainframe-Dataset kopieren. Partitionierte Datasets (PDS) können nicht kopiert werden.

Wenn Sie eine Datei aus Cloud Storage in ein Mainframe-Dataset kopieren möchten, geben Sie den DSN und die Speicheranforderungen der Datei, die Sie auf den Mainframe herunterladen möchten, in JCL an, wie im folgenden Beispiel gezeigt:

//OUTFILE  DD DSN=MAINFRAME.DSN.FILE,DISP=(,CATLG),
//            RECFM=FB,DSORG=PS,
//            SPACE=(10,(2,1),RLSE),
//            AVGREC=M,
//            UNIT=SYSDA
//SYSPRINT DD SYSOUT=*
//SYSDUMP  DD SYSOUT=*
//STDIN DD *

Geben Sie den Befehl gsutil cp im folgenden Format an. Wenn die Datei bereits auf Ihrem Mainframe vorhanden ist, prüfen Sie, ob Sie dem Befehl das Flag --replace hinzugefügt haben.

gsutil cp GCS_URI DSN --recfm=RECFM --lrecl=LRECL --blksize=BLKSIZE --noseek

Ersetzen Sie Folgendes:

  • GCS_URI: Der Cloud Storage-URI der Cloud Storage-Datei. Beispiel: gs://bucket/sample.mainframe.dsn
  • DSN: Der DSN-Zielspeicherort auf dem Mainframe.
  • RECFM: Das Datensatzformat (RECFM) der Mainframe-Datei. Gültige Werte sind F, FB und U. Bei diesen Werten wird die Groß- und Kleinschreibung nicht berücksichtigt.
  • LRECL: (Optional) Die Datensatzlänge (LRECL) der Datei. Der Wert muss eine Ganzzahl >= 0 sein. Wenn LRECL nicht angegeben ist, wird davon ausgegangen, dass die Datei das Format für Datensätze mit undefinierter Länge (U) hat.
  • BLKSIZE: (Optional) Die Blockgröße der Datei. Wenn der Wert auf 0 gesetzt ist, bestimmt das System die optimale Blockgröße. Der Wert muss eine Ganzzahl >= 0 sein. Wenn Sie keinen Wert angeben, wird die Datei als nicht blockierte Datei behandelt.
  • noseek: (Optional) Fügen Sie diesen Parameter hinzu, wenn Sie die Downloadleistung verbessern möchten. Dieses Flag ist standardmäßig auf „false“ gesetzt. Das bedeutet, dass Suchvorgänge aktiviert sind.

Beispiel für die Ausführung

gsutil cp gs://sample-bucket/MAINFRAME.DSN.FILE MAINFRAME.DSN.FILE \
--lrecl=16 --blksize=0 --recfm=fb

Konfiguration zur Leistungsoptimierung für den gsutil cp-Befehl

Der Mainframe Connector unterstützt die folgende Konfiguration zur Leistungsoptimierung für den Befehl gsutil cp.

  • Mit dem Flag --parallelism können Sie die Anzahl der Threads festlegen. Der Standardwert ist 1 (Single-Threaded).
  • Mit dem Argument --maxChunkSize können Sie die maximale Größe der einzelnen Chunks festlegen. Jeder Chunk hat eine eigene ORC-Datei. Wenn Sie diesen Wert erhöhen, wird die Anzahl der erstellten Chunks reduziert. Das Transcodieren erfordert dann aber mehr Arbeitsspeicher. Weitere Informationen finden Sie unter maxChunkSize-Argument parsen. Der Standardwert ist 128 MiB.
  • Mit dem Argument --preload_chunk_count können Sie die Menge der Daten festlegen, die in den Arbeitsspeicher vorab geladen werden sollen, während alle Worker beschäftigt sind. Dieses Argument kann die Leistung auf Kosten des Arbeitsspeichers verbessern. Der Standardwert liegt bei 2.

Beispiel für die Ausführung

gsutil cp \
  --replace \
  --parser_type=copybook \
  --parallelism=8 \
  --maxChunkSize=256MiB \
  gs://$BUCKET/test.orc

In diesem Beispiel haben wir eine große Datei berücksichtigt und daher 8 Threads verwendet, bei denen die Zeilenrate erreicht wird. Wenn Sie genügend Arbeitsspeicher haben, empfehlen wir, die Blockgröße auf 256 MiB oder sogar 512 MiB zu erhöhen, da dadurch der Aufwand für das Erstellen und Fertigstellen von Cloud Storage-Objekten reduziert wird. Bei kleinen Dateien kann es besser sein, weniger Threads und kleinere Chunks zu verwenden.

Das Argument maxChunkSize parsen

Das Flag maxChunkSize akzeptiert Werte in Form eines Betrags und einer Maßeinheit, z. B. „5 MiB“. Sie können zwischen dem Betrag und der Größenordnung ein Leerzeichen einfügen.

Sie können den Wert in den folgenden Formaten angeben:

  • Java-Format:b/k/m/g/t für Byte, Kibibyte, Mebibyte, Gibibyte und Tebibyte
  • Internationales Format:KiB/MiB/GiB/TiB für Kibibyte, Mebibyte, Gibibyte und Tebibyte
  • Metrisches Format:b/kb/mb/gb/tb für Kilobyte, Megabyte, Gigabyte und Terabyte

Beim Parsen der Datengröße wird nicht zwischen Groß- und Kleinschreibung unterschieden. Sie können keine Teilbeträge angeben. Verwenden Sie beispielsweise 716 KiB anstelle von 0, 7 MiB.