MultiContext in Scalytics Connect: Ihr Schlüssel zu präzisen Dateneinblicken

Dr. Zoi Kaoudi

Willkommen zu unserem neuesten Blogbeitrag, in dem wir uns freuen, Ihnen eine leistungsstarke neue Ergänzung zu Scalytics Connect vorstellen zu können: Multikontext. In diesem Beitrag zeigen wir, wie MultiContext die Datenverarbeitung für Unternehmen revolutioniert und eine nahtlose Bereitstellung über mehrere Standorte hinweg ermöglicht und gleichzeitig den Datenschutz und die Integrität gewährleistet.

Stellen Sie sich das vor: eine Organisation mit unterschiedlichen Abteilungen, von denen jede ihre eigenen Datenverarbeitungsmodule hat. Aus Datenschutzgründen können Rohdaten nicht für Analysezwecke zentralisiert werden. Stattdessen nur aggregierte Daten kann extrahiert und weiterverarbeitet werden. Die Abteilungen A und B nutzen ihren Spark-Cluster und speichern Daten in HDFS-, CSV-Dateien und einer Datenbank mit JDBC-Verbindung, während Abteilung C einen Flink-Cluster und eine weitere Datenbank für ihre Datenverarbeitungsanforderungen verwendet.

Scalytics Connect MultiContext Explained

Und hier kommt MultiContext ins Spiel.. Mit dieser innovativen Funktion können Entwickler mühelos verschiedene Datenkontexte definieren, die auf die Bedürfnisse der einzelnen Abteilungen zugeschnitten sind. Diese Konfigurationen umfassen Informationen über die Spark- und Flink-Cluster, potenzielle JDBC-Installationen und den festgelegten Pfad zum Speichern verarbeiteter Daten. Die unterschiedlichen Systeme werden wie folgt definiert:


val context1 = new ScalyticsContext(configuration1)
  	.withPlugin(Java.basicPlugin())
  	.withPlugin(Spark.basicPlugin())
	.withPlugin(JDBC.basicPlugin())
  	.withTextFileSink("file:///path/to/output/out1")

val context2 = new ScalyticsContext(configuration2)
  	.withPlugin(Java.basicPlugin())
  	.withPlugin(Spark.basicPlugin())
	.withPlugin(JDBC.basicPlugin())
  	.withTextFileSink("hdfs:///path/to/output/out2")

val context3 = new ScalyticsContext(configuration2)
  	.withPlugin(Java.basicPlugin())
  	.withPlugin(Flink.basicPlugin())
	.withPlugin(JDBC.basicPlugin())
  	.withTextFileSink("hdfs:///path/to/output/out3")

Als Nächstes können Entwickler mithilfe des MultiContextPlanBuilders die gewünschten Datenverarbeitungsaufgaben in diesen unterschiedlichen Kontexten skizzieren.


val multiContextPlanBuilder = new MultiContextPlanBuilder(List(context1, context2, context3));

val customers = multiContextPlanBuilder
	.readTable(context1, customersDB1)
	.readTable(context2, customersDB2)
	.readTable(context3, customersDB3)

.forEach(_
/* Filter for year 2022 */
.filter(record -> record.getField(5).contains(“2022”)
)

val sales = multiContextPlanBuilder
.readTextFile(context1, salesFile1)
  	.readTextFile(context2, salesFile2)
.readTextFile(context3, salesFile3)

.forEach(_
  	.map(line -> {
       String [] vals = line.split("\\,");
       return new Record(vals[0], vals [1], Double.parseDouble(vals[2]), 1);
            	})
     /* Filter for year 2022 */
     .filter(record -> ((String)record.getField(0)).contains("2022"))

val results = sales
/* Join sales with customers data*/
.combineEach(customers, (dq1: DataQuanta[Customer], dq2: DataQuanta[Result]) => dq1.join(id, dq2, _._2))

     /* Aggregate data */
     .reduceByKey(record -> record.getField(1), (r1, r2) -> {
                	return new Record(r1.getField(0), r1.getField(1), r1.getDouble(2) + r2.getDouble(2), r1.getInt(3) + r2.getInt(3));
            	})
       /* Average */
       .map(r -> new Record(r.getField(1), r.getDouble(2)/r.getInt(3)))
	).execute()

Mit nur wenigen Codezeilen können Entwickler jetzt die Datenverarbeitung vor Ort an verschiedenen Standorten ausführen. Darüber hinaus können die Installationen an jedem Standort heterogen sein und verschiedene Cluster wie Spark oder Flink nahtlos aufnehmen. Wichtig ist, dass man denselben Job an mehrere Spark-Cluster gleichzeitig vergeben kann. Dies ist in Spark nicht möglich, da es nicht erlaubt, mehr als einen Spark-Kontext in einer einzigen JVM zu haben.

Zusammenfassend lässt sich sagen, dass MultiContext eine neue Ära der föderierten und In-situ-Datenverarbeitung einläutet und es Unternehmen ermöglicht, ihre verteilte Infrastruktur zu nutzen und gleichzeitig Datenschutz und Effizienz zu gewährleisten. Seien Sie gespannt auf weitere Updates und Einblicke vom Scalytics-Team, während wir weiterhin an Innovationen im Bereich der Vereinheitlichung von Datenverarbeitungslösungen arbeiten.

Über Scalytics

Scalytics erleichtert es Unternehmen, KI für das Datenmanagement zu nutzen. Dies geschieht durch die Verbesserung von Kafka und Confluent Streaming mit agentengesteuerter Intelligenz, Echtzeit-Einblicken und föderiertem Lernen.

Unser Hauptprodukt, Scalytics Connect, bietet intelligente Topics, kontinuierliches Lernen und KI-fähiges Messaging über das Model Context Protocol (MCP). Es verbindet verschiedene Datentypen und stellt sicher, dass Regeln eingehalten werden und die Privatsphäre geschützt wird, ohne dass die Pipelines, die Teams bereits nutzen, geändert werden müssen.
Mit Funktionen wie Autodiscovery und indexbasierter Suche bietet Scalytics Connect ein zukunftsweisendes, transparentes Framework, das schnelle Produktiteration, robuste Skalierung und erklärbare KI unterstützt. Durch die Kombination von Agenten, Datenflüssen und Geschäftsanforderungen hilft Scalytics Unternehmen, traditionelle Beschränkungen zu überwinden und die Möglichkeiten moderner KI voll auszuschöpfen.

Wenn Sie professionelle Unterstützung von unserem Team von branchenführenden Experten benötigen, können Sie sich jederzeit an uns über Slack oder E-Mail wenden.
back to all articlesFollow us on Google News
Schneller zum KI-Erfolg
Kostenlose White Paper. Erfahren Sie, wie Scalytics KI und ML optimiert und Unternehmen in die Lage versetzt, schnellere KI-Erfolge zu erzielen.

Starten Sie noch heute mit Scalytics Connect

Launch your data + AI transformation.

Thank you! Our team will get in touch soon.
Oops! Something went wrong while submitting the form.