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

Legacy-Dateninfrastrukturen können mit der Geschwindigkeit und Komplexität moderner Initiativen der künstlichen Intelligenz nicht Schritt halten. Datensilos ersticken Innovationen, verlangsamen Erkenntnisse und schaffen Skalierbarkeitsengpässe, die das Wachstum Ihrer Organisation behindern. Scalytics Connect, das Framework für federated Learning der nächsten Generation, geht diese Herausforderungen direkt an.Erleben Sie nahtlose Integration über verschiedene Datenquellen hinweg, die echte Skalierbarkeit der KI ermöglicht und die Hindernisse beseitigt, die Ihre Compliance im Bereich maschinelles Lernen sowie Ihre Datenschutzlösungen für KI behindern. Befreien Sie sich von den Einschränkungen der Vergangenheit und beschleunigen Sie die Innovation mit Scalytics Connect, das den Weg für ein verteiltes Rechenframework ebnet, das Ihre datengestützten Strategien stärkt.

Apache Wayang: Das führende Java-basierte Federated Learning-Framework
Scalytics nutzt Apache Wayang als Basis, und wir sind stolz darauf, dieses Projekt zu fördern. Sie können das öffentliches GitHub-Repository hier einsehen. Wenn Ihnen unsere Software gefällt, zeigen Sie Ihre Wertschätzung und Unterstützung – ein Stern ⭐ würde uns viel bedeuten!

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.