Um schnell und einfach Zugriff auf eine Umgebung zu erhalten, in der alles korrekt installiert und eingerichtet ist, können Sie GitHub Codespaces oder alternativ GitLab GitPod verwenden. Diese bieten Remote-Codierungsumgebungen mit VS-Code mit den erforderlichen Plugins, einer Java-Version und vorinstalliertem Maven.
Unser Javadoc finden Sie hier. Die Dokumentation von Gaffer wird im gaffer-doc-Repository gespeichert und auf GitHub-Seiten (gchq.github.io) veröffentlicht.
Um Gaffer lokal zu erstellen, müssen Java 8 oder 11 und Maven lokal in einer *nix-Umgebung installiert sein. MS Windows funktioniert für die meisten Zwecke, wird jedoch nicht empfohlen, da Tests mit Hadoop aufgrund der eingeschränkten Hadoop-Unterstützung unter Windows fehlschlagen. Gaffer wird mit neueren Java-Versionen kompiliert, einige Tests schlagen jedoch fehl, da in bestimmten externen Abhängigkeiten die Unterstützung für neueres Java fehlt.
Um Gaffer zu erstellen, führen Sie mvn clean install -Pquick
im Verzeichnis der obersten Ebene aus. Dadurch werden alle Kernbibliotheken von Gaffer und einige Beispiele zum Laden und Abfragen von Daten erstellt.
Detaillierte Informationen zu unserer Arbeitsweise finden Sie in unseren Entwicklerdokumenten. Kurz:
Gaffer wird auf Maven Central gehostet und kann problemlos in Ihre eigenen Maven-Projekte integriert werden.
Um Gaffer über die Java-API zu verwenden, sind die einzigen erforderlichen Abhängigkeiten das Gaffer-Graphmodul und ein Speichermodul für die spezifische Datenbanktechnologie, die zum Speichern der Daten verwendet wird, z. B. für den Accumulo-Speicher:
< dependency >
< groupId >uk.gov.gchq.gaffer</ groupId >
< artifactId >graph</ artifactId >
< version >${gaffer.version}</ version >
</ dependency >
< dependency >
< groupId >uk.gov.gchq.gaffer</ groupId >
< artifactId >accumulo-store</ artifactId >
< version >${gaffer.version}</ version >
</ dependency >
Dies schließt alle anderen obligatorischen Abhängigkeiten ein. Bei Bedarf können Sie Ihrem Projekt weitere (optionale) Komponenten hinzufügen.
Das Gafferpy-Repository enthält eine Python-Shell, die Operationen ausführen kann.
Das Gaffer-Docker-Repository enthält den Code, der zum Ausführen von Gaffer mit Docker oder Kubernetes erforderlich ist.
Das Koryphe-Repository enthält eine erweiterbare Funktionsbibliothek zum Filtern, Aggregieren und Transformieren von Daten basierend auf der Java Function API. Es ist eine Abhängigkeit von Gaffer.
Gaffer ist unter der Apache 2-Lizenz lizenziert und unterliegt dem Crown Copyright.
Copyright 2016-2023 Crown Copyright
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.