Konfiguration/Basismodell¶
Das Konfiguration/Basismodell ist eine grundlegende Komponente deines DATAMIMIC-Projekts und dient als Grundlage für die Einrichtung und Konfiguration verbundener Systeme, einschließlich der Angabe systemweiter Einstellungen, Umgebungsdetails und eingebundener externer Dateien.
Beispiel-Konfigurationsmodell¶
Betrachte das folgende Beispiel eines DATAMIMIC-Konfigurationsmodells:
1 2 3 4 5 6 7 8 | |
In diesem Beispiel:
- werden
<database>-Elemente verwendet, um Datenbankkonfigurationen für Quell- und Zielsysteme zu definieren, einschließlich "source_oracle" und "target_postgres". - wird
<mongodb>verwendet, um die MongoDB-Konfiguration zu definieren. - verweisen
<include>-Elemente auf externe XML-Dateien (1_select_subset.xmlund2_obfuscate.xml) zur Definition von Datengenerierungs- und Verarbeitungsaufgaben.
Dieses Konfigurationsmodell bereitet die Bühne für dein DATAMIMIC-Projekt und ermöglicht es dir, verschiedene Systeme zu konfigurieren und mit ihnen zu verbinden, Umgebungsdetails anzugeben und bei Bedarf externe Konfigurationen einzubinden.
Es ist wichtig, das 'Konfiguration/Basismodell' an deine spezifischen Projektanforderungen anzupassen und es auf die Systeme und Datenbanken abzustimmen, mit denen du arbeitest.
<setup>¶
Das <setup>-Element ist die Wurzel des Konfiguration/Basismodells und definiert das gesamte Setup für den Datengenerierungsprozess.
Attribute¶
defaultSeparator: Definiert das Standard-Trennzeichen beim Lesen von Datenquellen (wie CSV). Gängige Werte sind "|", ";" oder ",". Standard ist "|".defaultDataset: Gibt das Standard-Dataset an (z. B. "DE", "US"). Standard ist "US".defaultLocale: Gibt die Standard-Locale an (z. B. "de", "en"). Standard ist "en".numProcess: Definiert die Anzahl der Prozesse für Multiprocessing, die an inkludierte<setup>und<generate>weitergegeben werden kann. Standard ist 1.defaultLineSeparator: Definiert den Standard-Zeilenumbruch (z. B. "\r\n", "\r", "\n"). Standard ist "\n".defaultSourceScripted: Gibt an, ob der Wert in einem beliebigen Element skriptbasiert ist (z. B. wird "{1 + 2}" als "3" ausgewertet). Standard ist "False".reportLogging: Gibt an, ob ein Zeit-Log des Generierungs- und Exportprozesses erstellt werden soll. Wenn du eine sehr große Anzahl von generate-Knoten hast, kann das Setzen dieses Wertes auf "False" die Verarbeitungszeit reduzieren. Standard ist "True".defaultVariablePrefix: Konfigurierbares Attribut, das das Präfix für die Variablensubstitution in dynamischen Zeichenketten definiert (Standard ist__).defaultVariableSuffix: Konfigurierbares Attribut, das das Suffix für die Variablensubstitution in dynamischen Zeichenketten definiert (Standard ist__).
Kindelemente¶
<database>: Definiert Verbindungen zu relationalen Datenbanken.<mongodb>: Definiert MongoDB-Verbindungen.<include>: Bindet externe Dateien oder Konfigurationen ein.<memstore>: Definiert einen In-Memory-Speicher, der für die temporäre Datenspeicherung zwischen Generierungsaufgaben nützlich ist.<execute>: Führt externe Skripte oder Befehle aus.<echo>: Gibt Text oder Variablen im Log aus, nützlich für das Debugging (-> DATAMIMIC Datendefinitionsmodell – Kernelemente.<variable>: Definiert Variablen, die bei der Datengenerierung verwendet werden (-> Datendefinitionsmodell - Fortgeschrittene Elemente .<data-warehouse>: Definiert Data-Warehouse-Konfigurationen.<kafka-exporter>: Definiert Kafka-Producer-Verbindungen.<kafka-importer>: Definiert Kafka-Consumer-Verbindungen.<object-storage>: Definiert Object-Store-Konfigurationen.
<database>¶
Das <database>-Element wird verwendet, um Datenbankverbindungen innerhalb des DATAMIMIC-Konfigurationsmodells zu definieren.
Attribute¶
id: Gibt den eindeutigen Bezeichner für die Datenbankverbindung und die ID der konfigurierten Systemumgebung an.system: Gibt den Namen deiner Datenbank-Umgebungskonfiguration auf der Plattform an. Wenn dieses Attribut nicht definiert ist, verwendet das System die ID als Systemnamen.
Beispiel¶
1 | |
<mongodb>¶
Das <mongodb>-Element definiert MongoDB-Verbindungen innerhalb des DATAMIMIC-Konfigurationsmodells.
Attribute¶
id: Gibt den eindeutigen Bezeichner für die MongoDB-Verbindung und die ID der konfigurierten Systemumgebung an.system: Gibt den Namen deiner MongoDB-Umgebungskonfiguration auf der Plattform an. Wenn dieses Attribut nicht definiert ist, verwendet das System die ID als Systemnamen.
Beispiel¶
MongoDB-Datenbank einrichten
1 | |
Daten in MongoDB einfügen
1 2 3 4 | |
Daten aus MongoDB mit einem Selektor laden
1 | |
Wichtig: Wenn du Daten aus MongoDB laden und als JSON exportieren möchtest, musst du die Daten ohne '_id' auswählen (da ObjectId kein regulärer Datentyp von JSON ist).
1 2 3 | |
MongoDB-Daten aktualisieren
1 2 3 | |
MongoDB mit upsert true aktualisieren
1 2 3 4 5 6 7 | |
mongo_func_test Collection leeren
1 | |
Hier ist eine überarbeitete und detailliertere Version der Dokumentation für das <include>-Element, die dynamische Include-Beispiele und Erklärungen enthält:
<include>¶
Das <include>-Element wird verwendet, um DATAMIMIC-Modelldateien oder -Konfigurationen in das DATAMIMIC-Konfigurationsmodell einzubinden. Dies ermöglicht die Modularisierung großer Setups durch dynamisches oder statisches Referenzieren externer Konfigurationen.
Attribute¶
uri: Gibt die URI (Uniform Resource Identifier) der einzubindenden externen Datei an. Die URI kann ein statischer Pfad sein oder dynamisch mithilfe von Variablen aus der Konfiguration generiert werden.
Beispiel 1: Statische Includes¶
In diesem Beispiel werden zwei statische XML-Dateien, 1_select_subset.xml und 2_obfuscate.xml, in das Setup eingebunden:
1 2 3 4 | |
- Das
<include>-Element lädt hier einfach den Inhalt von1_select_subset.xmlund2_obfuscate.xmlin die Konfiguration. Dies ist nützlich, wenn du wiederverwendbare Konfigurationen in separaten Dateien gespeichert hast.
Beispiel 2: Dynamische Includes mit Variablen¶
Dieses Beispiel zeigt einen fortgeschritteneren Anwendungsfall, bei dem Includes dynamisch auf Basis von Daten aus einer externen CSV-Datei bestimmt werden.
Konfiguration¶
1 2 3 4 5 | |
CSV-Datei (data/control.ent.csv)¶
1 2 3 | |
- Erklärung:
- Die Konfiguration lädt dynamisch den Wert des
model-Feldes ausdata/control.ent.csvund ersetzt{model}durch den in jeder Zeile gefundenen Wert. In diesem Fall wirdinclude_generate.xmlfür beide Einträge in der CSV-Datei eingebunden. - Der
generate-Block liest Zeilen aus der CSV-Datei, und für jede Zeile bindet er die entsprechende Datei ein, die in dermodel-Spalte angegeben ist (include_generate.xml).
- Die Konfiguration lädt dynamisch den Wert des
Diese dynamische Einbindung ist nützlich, wenn verschiedene Setups oder Konfigurationen basierend auf externen Datenquellen eingebunden werden müssen, was das Setup sehr flexibel und an verschiedene Szenarien anpassbar macht.
Beispiel 3: Verwendung mehrerer Includes mit dynamischen Zielen¶
1 2 3 4 5 6 7 8 | |
- In diesem Setup:
- Jede Zeile aus
data/control.ent.csvwird verarbeitet, und die entsprechendemodel-Datei wird basierend auf dem Wert von{model}eingebunden. - Dies ermöglicht es dir, den Datengenerierungsprozess zu modularisieren, indem du verschiedene Konfigurationen für verschiedene Zeilen einziehst, was das Setup flexibel je nach Inhalt der CSV-Datei macht.
- Jede Zeile aus
Best Practices für die Verwendung von <include>¶
-
Modularisierung: Verwende
<include>, um große Konfigurationen in kleinere, überschaubare Dateien aufzuteilen. Dies hilft bei der Organisation komplexer Setups und der Wiederverwendung gängiger Konfigurationen über verschiedene Modelle hinweg. -
Dynamische Includes: Kombiniere
<include>mit dynamischen Variablen, um externe Konfigurationen bedingt auf der Grundlage von Eingabedaten (z. B. aus einer CSV, Datenbank oder API) zu laden. -
Fehlerbehandlung: Stelle sicher, dass die Dateipfade oder URIs im
uri-Attribut korrekt sind, da fehlende oder falsch angegebene Dateien zu Fehlern beim Laden der Konfiguration führen können. -
Dokumentation und Benennung: Halte deine Include-Dateien gut dokumentiert und verwende aussagekräftige Namen, um sicherzustellen, dass die Absicht hinter jedem Include klar und wartbar ist.
<memstore>¶
Das <memstore>-Element definiert einen In-Memory-Speicher zur Verwendung im DATAMIMIC-Konfigurationsmodell. Es ist besonders nützlich, um Daten temporär zwischen verschiedenen Datengenerierungsaufgaben zu speichern, ohne den Zugriff auf eine externe Datenbank oder ein Dateisystem zu benötigen. Der memstore dient als temporäres Repository für generierte Daten und ermöglicht es dir, Daten über mehrere Aufgaben hinweg zu teilen oder dasselbe Dataset innerhalb eines einzigen Setups wiederzuverwenden.
Attribute¶
id: Gibt den eindeutigen Bezeichner für diememstore-Instanz an. Dieser Bezeichner wird verwendet, um den In-Memory-Speicher in anderen Teilen der Konfiguration zu referenzieren.
Beispiel 1: Einfacher In-Memory-Speicher¶
In diesem Beispiel wird ein einfacher memstore erstellt und während der Datengenerierung referenziert:
1 2 3 4 5 6 7 8 | |
- Erklärung:
<memstore id="mem"/>definiert eine In-Memory-Speicherinstanz mit der ID "mem".- Der
generate-Block generiert 15 Datensätze mit Produktdaten und speichert sie im Memory-Store. Auf diese Daten kann später in derselben Konfiguration verwiesen werden.
Beispiel 2: Wiederverwendung von Daten aus dem memstore über mehrere Aufgaben hinweg¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
- Erklärung:
- Der erste
generate-Block erstellt einen Satz von Produktdaten und speichert ihn immemstore. - Der zweite
generate-Block ruft die Produktdaten aus demmemstoreab und verwendet sie, um Verkaufsdatensätze zu generieren, wobei neue Schlüssel wiequantityhinzugefügt werden.
- Der erste
Beispiel 3: Dynamische Datenverarbeitung mit memstore¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
- Erklärung:
- Die erste Aufgabe generiert Kundendaten und speichert sie im
memstore. - Die zweite Aufgabe ruft die Kundendaten aus dem Speicher ab, um entsprechende Bestellungen zu generieren, und verknüpft die Bestellungen dynamisch mit den im Speicher abgelegten Kunden.
- Die erste Aufgabe generiert Kundendaten und speichert sie im
Beispiel 4: Kombination von memstore mit Bedingungen¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
- Erklärung:
- Dieses Setup generiert Mitarbeiter und speichert die Daten im Speicher.
- Bei der Generierung von Leistungsbeurteilungen wird eine bedingte Prüfung auf die
performance_ratingangewendet, und eine Beförderungsempfehlung wird basierend auf der Bewertung generiert.
Beispiel 5: Temporäre Speicherung für die zwischenzeitliche Datenverarbeitung¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
- Erklärung:
- Dieses Setup zeigt, wie der
memstoreverwendet werden kann, um Zwischendaten (z. B. Produkte) zu speichern, die in nachfolgenden Generierungsaufgaben (z. B. Bestellungen und Bestellzusammenfassungen) wiederverwendet werden. - Der
temp_memstorewird verwendet, um Daten über mehrere Generierungsaufgaben hinweg temporär zu speichern und zu referenzieren, ohne zwischen den Schritten in einen externen Speicher schreiben zu müssen.
- Dieses Setup zeigt, wie der
Best Practices für die Verwendung von <memstore>¶
-
Temporäre Datenspeicherung: Verwende
memstore, um temporäre Daten zu halten, die über verschiedene Aufgaben oder Schritte in der Konfiguration wiederverwendet werden müssen. -
Effiziente Datenverarbeitung: Nutze
memstorefür die In-Memory-Verarbeitung, wenn du Datensätze wiederverwenden musst, ohne in eine Datei oder Datenbank zu schreiben, was die Verarbeitungsgeschwindigkeit in Datenpipelines verbessert. -
Organisierter Datenfluss: Definiere mehrere
memstore-Instanzen, wenn du mit verschiedenen Datensätzen arbeitest, um die Daten organisiert zu halten und Datenvermischungen zwischen nicht zusammengehörigen Aufgaben zu vermeiden. -
Dynamische Datenhandhabung: Kombiniere
memstoremit dynamischen Variablen, Bedingungen und anderen Elementen, um komplexe Datenflüsse und Szenarien zu handhaben, wie z. B. bedingte Datengenerierung oder hierarchische Strukturen.
Hier ist eine erweiterte Version der Beschreibung des <execute>-Elements mit zusätzlichen Syntax- und Anwendungsfallbeispielen:
<execute>¶
Das <execute>-Element wird verwendet, um externe Skripte oder Befehle innerhalb des DATAMIMIC-Konfigurationsmodells auszuführen. Dies ist besonders nützlich, wenn du Datenbanken einrichten, SQL-Skripte ausführen oder externe Skripte (z. B. Python-Skripte) vor oder während des Datengenerierungsprozesses ausführen musst.
Attribute¶
uri: Gibt die URI oder den Pfad der auszuführenden Skriptdatei an. Dies kann ein SQL-Skript, ein Python-Skript oder ein anderer externer Skripttyp sein.target: Gibt das Ziel an, auf dem das Skript ausgeführt werden soll. Dies ist typischerweise eine Datenbank-ID (z. B.dbPostgres) für die Ausführung von SQL-Skripten oder kann für andere Arten von externen Skripten weggelassen werden.
Beispiel 1: Ausführen von SQL-Skripten auf einer Datenbank¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
In diesem Beispiel:
- wird das
<execute>-Element verwendet, um ein externes SQL-Skript (backup.sql) gegen eine PostgreSQL-Datenbank auszuführen. - Das Skript wird vor der Datengenerierung ausgeführt, um sicherzustellen, dass die Datenbank gesichert ist, bevor mit der Datengenerierung fortgefahren wird.
Beispiel 2: Ausführen mehrerer Skripte (SQL und Python)¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
In diesem Beispiel:
- werden zwei Skripte ausgeführt – ein SQL-Skript zur Einrichtung der Datenbank und ein Python-Skript zur Handhabung zusätzlicher benutzerdefinierter Logik.
- Nach dem Ausführen der Skripte werden Daten aus der Datenbank geholt und zur Generierung von Ausgabedatensätzen verwendet.
Beispiel 3: Verwendung von <execute> mit einem komplexen DB-Mapping-Szenario¶
1 2 3 4 5 6 7 8 9 10 11 12 | |
In diesem Fall:
- lädt das
<execute>-Element ein globales Skript (lib_glob.scr.py) in den Kontext, um zusätzliche Logik oder Dienstprogramme bereitzustellen, die für den Generierungsprozess benötigt werden. - Das
1_prepare.xml-Skript richtet das Datenbankschema und die Tabellen ein.
Beispiel 4: Ausführen eines Python-Skripts für benutzerdefinierte Logik¶
1 2 3 4 5 6 7 8 9 10 11 12 | |
In diesem Beispiel:
- richtet ein SQL-Skript (
prepare_database.sql) die Datenbank ein. - Anschließend wird ein Python-Skript (
my_custom_logic.py) ausgeführt, das möglicherweise benutzerdefinierte Logik oder Vorverarbeitungsschritte einführt. - Daten werden aus der Datenbank generiert und als CSV exportiert.
Best Practices für die Verwendung von <execute>¶
- Verwendung für externes Setup oder Logik: Das
<execute>-Element ist ideal für die Vorbereitung von Datenbanken, das Laden externer Skripte oder die Einführung benutzerdefinierter Logik, die vor oder während der Datengenerierung ausgeführt werden muss. - Reihenfolge der Ausführung: Stelle sicher, dass Skripte in der richtigen Reihenfolge ausgeführt werden, insbesondere wenn Abhängigkeiten zwischen ihnen bestehen (z. B. Vorbereitung eines Datenbankschemas vor der Datengenerierung).
- Zielauswahl: Gib für SQL-Skripte immer das korrekte Datenbank-
targetan, auf dem das Skript ausgeführt werden soll. - Benutzerdefiniertes Skripting: Nutze Python oder andere Skriptsprachen, um die Funktionalität und Logik des Datengenerierungsprozesses durch das Einbinden externer Skripte zu erweitern.
<data-warehouse>¶
Das <data-warehouse>-Element definiert Data-Warehouse-Konfigurationen innerhalb des DATAMIMIC-Konfigurationsmodells.
Attribute¶
id: Gibt den eindeutigen Bezeichner für das Data Warehouse und die ID der konfigurierten Systemumgebung an.
Beispiel¶
1 | |
<kafka-exporter> und <kafka-importer>¶
Das <kafka-exporter>-Element definiert Kafka-Producer-Verbindungen innerhalb des DATAMIMIC-Konfigurationsmodells.
Das <kafka-importer>-Element definiert Kafka-Consumer-Verbindungen innerhalb des DATAMIMIC-Konfigurationsmodells.
Gemeinsame Attribute¶
id: Gibt den eindeutigen Bezeichner für den Kafka-Producer an.bootstrap_servers: Gibt die Kafka-Bootstrap-Server (Cluster-Knoten) an, die für die Verbindung zum Kafka-Cluster erforderlich sind.topic: Gibt den Topic-Namen an, unter dem Nachrichten produziert werden sollen.format: Gibt das Format der zu produzierenden Nachrichten an.security_protocol: Definiert das Sicherheitsprotokoll, das für die Kommunikation verwendet werden soll (z. B. PLAINTEXT, SSL, SASL_SSL).system: Definiert den Systemtyp des Kafka-Producers.environment: Definiert die Umgebung des Kafka-Producers.schema: Gibt das Schema an, das zur Serialisierung von Nachrichten verwendet wird.registry.url: Gibt die URL der Schema-Registry an.partition: Gibt die Partitionsnummer an, an die Nachrichten gesendet werden sollen.allow.auto.create.topics: (True/False) - Gibt an, ob die automatische Erstellung von Topics erlaubt werden soll, wenn sie nicht existieren.request.timeout.ms: Gibt die maximale Wartezeit für den Abschluss einer Anfrage an.client.id: Gibt einen Namen für diesen Client an.send.buffer.bytes: Die Größe des TCP-Sendepuffers (SO_SNDBUF), der beim Senden von Daten verwendet wird.receive.buffer.bytes: Die Größe des TCP-Empfangspuffers (SO_RCVBUF), der beim Lesen von Daten verwendet wird.max.in.flight.requests.per.connection: Anfragen werden an Kafka-Broker bis zu dieser maximalen Anzahl von Anfragen pro Broker-Verbindung weitergeleitet.reconnect.backoff.ms: Die Zeit in Millisekunden, die gewartet wird, bevor versucht wird, eine Verbindung zu einem bestimmten Host wiederherzustellen.reconnect.backoff.max.ms: Die maximale Zeit in Millisekunden, die beim Wiederverbinden mit einem Broker, der wiederholt keine Verbindung herstellen konnte, gewartet wird.connections.max.idle.ms: Gibt an, dass inaktive Verbindungen nach der Anzahl der Millisekunden geschlossen werden.retry.backoff.ms: Gibt die Wartezeit vor dem erneuten Versuch einer fehlgeschlagenen Anfrage an (in Millisekunden).metadata.max.age.ms: Gibt den Zeitraum in Millisekunden an, nach dem wir eine Aktualisierung der Metadaten erzwingen.metrics.num.samples: Gibt die Anzahl der Stichproben an, die zur Berechnung von Metriken geführt werden.metrics.sample.window.ms: Gibt das maximale Alter in Millisekunden von Stichproben an, die zur Berechnung von Metriken verwendet werden.api.version: Gib an, welche Kafka-API-Version verwendet werden soll. Wenn nicht definiert, versucht der Client, die Broker-Version durch Überprüfen verschiedener APIs abzuleiten. Unterschiedliche Versionen ermöglichen unterschiedliche Funktionalitäten. (z. B. 0.10.2)api.version.auto.timeout.ms: Gib die Anzahl der Millisekunden an, nach denen eine Timeout-Exception vom Konstruktor ausgelöst wird, wenn die Broker-API-Version geprüft wird. Gilt nur, wenn api_version nicht definiert ist.ssl.key.password: Gibt das Passwort für den SSL-Schlüssel an.ssl.truststore.location: Gibt den Speicherort des SSL-Truststores an.ssl.truststore.password: Gibt das Passwort für den SSL-Truststore an.ssl.truststore.type: Gibt den Typ des SSL-Truststores an.ssl.truststore.certificate: Gibt die Zertifikate für den SSL-Truststore an.ssl.protocol: Gibt das SSL-Protokoll an (z. B. TLSv1.2, TLSv1.3).ssl.keystore.location: Gibt den Speicherort des SSL-Keystores an.ssl.keystore.type: Gibt den Typ des SSL-Keystores an.ssl.keystore.key: Gibt den Schlüssel für den SSL-Keystore an.ssl.keystore.password: Gibt das Passwort für den SSL-Keystore an.ssl.cipher.suites: Gibt die Liste der Ciphers für SSL-Verbindungen an (z. B. DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-GCM-SHA256).sasl.mechanism: Gibt den SASL-Mechanismus an, der für die Authentifizierung verwendet wird (z. B. PLAIN, SCRAM-SHA-256).sasl.jaas.config: Gibt die JAAS-Konfiguration für SASL an.sasl.kerberos.service.name: Gibt den Kerberos-Dienstnamen für den SASL-Mechanismus-Handshake an.
<kafka-exporter> Attribute¶
encoding: Gibt die Kodierung der Nachrichten an.acks: Gibt die Anzahl der Bestätigungen an, die der Producer vom Leader erhalten muss, bevor eine Anfrage als abgeschlossen betrachtet wird (z. B. 0, 1, all).compression.type: Gibt den Komprimierungstyp für alle vom Producer generierten Daten an (z. B. gzip, snappy, lz4, None).retries: Gibt die Anzahl der Wiederholungsversuche bei fehlgeschlagenen Sendevorgängen an (Standard ist 0).batch.size: Gibt die Batch-Größe in Bytes an.linger.ms: Gibt die Wartezeit vor dem Senden eines Batches an.buffer.memory: Gibt die Gesamtmenge an Speicher in Bytes an, die der Producer zum Puffern von Datensätzen verwenden soll, die auf das Senden an den Server warten.max.request.size: Gibt die maximale Größe einer Anfrage an.max.block.ms: Gibt die maximale Blockierzeit beim Senden einer Nachricht an.
<kafka-importer> Attribute¶
pageSize: Gibt die Seitengröße für das Abrufen von Nachrichten an.decoding: Gibt die Dekodierung der Nachrichten an.enable.auto.commit: (True/False) - Wenn True, wird der Offset des Consumers regelmäßig im Hintergrund committet.auto.offset.reset: Gibt die Offset-Reset-Richtlinie an (z. B. earliest, latest).group.id: Gibt die Consumer-Gruppen-ID an.heartbeat.interval.ms: Gibt das Intervall zwischen Heartbeats an den Kafka-Broker an (in Millisekunden).auto.commit.interval.ms: Gibt die Anzahl der Millisekunden zwischen automatischen Offset-Commits an.check.crcs: (True/False) - Gibt an, ob die CRCs der konsumierten Datensätze überprüft werden sollen.fetch.max.bytes: Gibt die maximale Anzahl von Bytes an, die in einer einzigen Anfrage abgerufen werden.fetch.max.wait.ms: Gibt die maximale Wartezeit für das Abrufen von Datensätzen an (in Millisekunden).fetch.min.bytes: Gibt die minimale Anzahl von Bytes an, die in einer einzigen Anfrage abgerufen werden sollen.max.partition.fetch.bytes: Gibt die maximale Anzahl von Bytes an, die pro Partition in einer einzigen Anfrage abgerufen werden.max.poll.records: Gibt die maximale Anzahl von Datensätzen an, die in einem einzigen Poll zurückgegeben werden.max.poll.interval.ms: Gibt das maximale Intervall zwischen Polls an, bevor der Consumer als tot betrachtet wird (in Millisekunden).exclude.internal.topics: (True/False) - Ob Datensätze von internen Topics (wie Offsets) dem Consumer zugänglich gemacht werden sollen. Wenn auf True gesetzt, ist der einzige Weg, Datensätze von einem internen Topic zu erhalten, das Abonnieren dieses Topics.session.timeout.ms: Das Timeout, das zur Erkennung von Ausfällen bei der Nutzung der Gruppenverwaltungsfunktionen von Kafka verwendet wird. Der Consumer sendet periodische Heartbeats, um seine Liveness dem Broker anzuzeigen. Wenn vor Ablauf dieses Session-Timeouts keine Heartbeats vom Broker empfangen werden, entfernt der Broker diesen Consumer aus der Gruppe und initiiert ein Rebalance. Beachte, dass der Wert im zulässigen Bereich liegen muss, wie in der Broker-Konfiguration durch group.min.session.timeout.ms und group.max.session.timeout.ms konfiguriert.consumer.timeout.ms: Die Anzahl der Millisekunden, die während der Nachrichteniteration blockiert wird, bevor StopIteration ausgelöst wird.
Beispiel¶
1 2 3 4 5 6 7 8 9 | |
<object-storage>¶
Das <object-storage>-Element definiert Object-Store-Konfigurationen innerhalb des DATAMIMIC-Konfigurationsmodells.
Attribute¶
id: Gibt den eindeutigen Bezeichner für den Object Store und die ID der konfigurierten Systemumgebung an.
Beispiel¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |