Best Practices für die Repository-Größe
Die Repository-Größe wirkt sich auf mehrere Aspekte der Dataform-Entwicklung aus, Beispiele:
- Zusammenarbeit
- Lesbarkeit der Codebasis
- Entwicklungsprozesse
- Workflow-Kompilierung
- Workflowausführung
Dataform erzwingt API-Kontingente und Limits für Kompilierungsressourcen. Eine große Repository-Größe kann dazu führen, dass Ihr Repository diese Kontingente überschreitet. und Limits. Dies kann zu Fehlern bei der Kompilierung und Ausführung Ihrer SQL-Workflow.
Um dieses Risiko zu mindern, empfehlen wir, große Repositories aufzuteilen. Beim Aufteilen eines großen Repositorys wird ein großer SQL-Workflow in eine kleinerer SQL-Workflows in verschiedenen Repositories durch Repository-übergreifende Abhängigkeiten.
Mit diesem Ansatz können Sie Dataform-Kontingente und -Limits bis ins kleinste Detail einhalten. und Berechtigungen und verbessert die Lesbarkeit der Codebasis und die Zusammenarbeit. Die Verwaltung geteilter Repositories kann jedoch schwieriger sein als die Verwaltung eines für ein einzelnes Repository.
Um mehr über die Auswirkungen der Repository-Größe in Dataform und Best Practices zum Aufteilen von Repositories finden Sie Repositories aufteilen
Best Practices für die Repository-Struktur
Wir empfehlen, die Dateien im Verzeichnis definitions
zu strukturieren, um den
Phasen Ihres Workflows. Denken Sie daran, dass Sie auch eine
benutzerdefinierte Struktur verwenden können,
die Ihren Anforderungen am besten entspricht.
Die folgende empfohlene Struktur von definitions
-Unterverzeichnissen spiegelt wider
wichtigsten Phasen der meisten SQL-Workflows:
sources
, Datenquellendeklarationen werden gespeichertintermediate
, Speicherlogik zur Datentransformationoutput
, Speicherdefinitionen von Ausgabetabellen- Optional:
extras
, zusätzliche Dateien speichern
Namen aller Dateien in Dataform müssen BigQuery entsprechen
Richtlinien für die Benennung von Tabellen. Wir empfehlen, die Namen der Dateien im
Das Verzeichnis definitions
in einem Dataform-Repository spiegelt die
die Unterverzeichnisstruktur.
Um mehr über Best Practices für Strukturierung und Benennen von Dateien in einem Repository finden Sie unter Code in einem Repository strukturieren
Best Practices für den Codelebenszyklus
Der Standardcodelebenszyklus in Dataform besteht aus den folgenden Phasen:
Entwicklung von SQL-Workflowcode in Dataform-Arbeitsbereichen
Sie können mit Dataform Core oder ausschließlich mit JavaScript.
Kompilierung Ihres Codes in eine Kompilierungsergebnis mithilfe der Einstellungen aus der Datei mit den Workfloweinstellungen.
Sie können benutzerdefinierte Kompilierungsergebnisse konfigurieren mit Releasekonfigurationen und Überschreibungen von Arbeitsbereichskompilierungen.
Bei Releasekonfigurationen können Sie eine benutzerdefinierte Kompilierung des gesamten Repositorys abrufen. Sie können die Ausführung später Workflowkonfigurationen.
Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie Kompilierungsüberschreibungen für alle Arbeitsbereiche in Ihrem Repository, wodurch benutzerdefinierte Kompilierungsergebnisse erstellt werden für jeden Arbeitsbereich.
Ausführung des Kompilierungsergebnisses in BigQuery
Sie können Ausführungen oder Ergebnisse der Repository-Kompilierung planen mit Workflowkonfigurationen.
Zum Verwalten des Codelebenszyklus in Dataform können Sie eine Ausführung erstellen wie Entwicklung, Staging und Produktion.
Weitere Informationen zum Codelebenszyklus in Dataform finden Sie unter Einführung in den Codelebenszyklus in Dataform
Sie können Ihre Ausführungsumgebungen in einem einzigen Repository belassen, oder in mehreren Repositories.
Ausführungsumgebungen in einem einzelnen Repository
Sie können isolierte Ausführungsumgebungen erstellen wie Entwicklung, Staging und Produktion, in einem Dataform-Repository mit Workspace-Kompilierungsüberschreibungen und Releasekonfigurationen.
So erstellen Sie isolierte Ausführungsumgebungen:
- Entwicklungs- und Produktionstabellen nach Schema aufteilen
- Entwicklungs- und Produktionstabellen nach Schema und Google Cloud-Projekt aufteilen
- Entwicklungs-, Staging- und Produktionstabellen nach Google Cloud-Projekt aufteilen
Anschließend können Sie Ausführungen in Staging- und Produktionsumgebungen Workflowkonfigurationen. Wir empfehlen, manuelles Auslösen von Ausführungen in der Entwicklungsumgebung
Weitere Informationen zu Best Practices für die Verwaltung des Codelebenszyklus finden Sie in Dataform, siehe Codelebenszyklus verwalten
Codelebenszyklus in mehreren Repositories
Um die Berechtigungen für Identity and Access Management individuell anzupassen Phase des Codelebenszyklus beginnen, mehrere Kopien eines Repositorys zu erstellen und an verschiedenen Google Cloud-Projekte
Jedes Google Cloud-Projekt dient als Ausführungsumgebung die einer Phase Ihres Codelebenszyklus entspricht, Entwicklung und Produktion.
Bei diesem Ansatz empfehlen wir, die Codebasis des Repositorys in allen Google Cloud-Projekten gleich. Um die Kompilierung und Ausführung jede Kopie des Repositorys Workspace-Kompilierungsüberschreibungen Releasekonfigurationen und Workflowkonfigurationen.
Nächste Schritte
- Weitere Informationen zur Repository-Größe in Dataform finden Sie unter Übersicht über die Repository-Größe.
- Weitere Informationen zu Best Practices zum Aufteilen von Repositories finden Sie unter Repositories aufteilen
- Weitere Informationen zu Best Practices für die Repository-Struktur finden Sie unter Code in einem Repository strukturieren
- Um mehr über den Codelebenszyklus in Dataform und verschiedene Möglichkeiten zu erfahren finden Sie unter Einführung in den Codelebenszyklus in Dataform
- Weitere Informationen zu Best Practices für den Codelebenszyklus finden Sie unter Codelebenszyklus verwalten