|
Java als tmap oder als row-Quelle
|
|
03.03.2011, 17:38
Beitrag: #1
|
|||
|
|||
|
Java als tmap oder als row-Quelle
Hallo liebe TOS-Freunde
,ich habe Talend für meine Täglichen Aufgaben im Programmieralttag entdeckt. Nun stehe ich vor einem Problem welches sich scheinbar nicht mit talend lösen läßt obwohl dieses eigentlich lösbar sein sollte. Es soll aus 2 Queries Daten für einen Algorithmus geholt werden. Dieser Algorithmus ist in Java Programmiert soweit so gut. Nun erzeug der Algorithmus wieder eine tabellenähnliche Datenstruktur die man eigentlich 1 zu 1 wieder in die Datenbank schreiben könnte. Der Algoritmus kann leider nicht über ein tJavaRow realisiert werden, weil es jeweils alles Daten aus den zwei Queries braucht und nicht nur die aktuelle Zeile. Das tJavaFelx könnte man zum einlesen der Queries verwenden, und diese dann in den richtigen Objekten gekapselt in das globalMap ablegen und dann mit tJava drauf zugreifen. Zum eine empfinde ich diese Lösung als ziemlich provisorisch, und zum anderen wie bekomme ich die Ergebnisse (Tabellenstruktur) aus meinem tJava heraus um damit weiter arbeiten zu können und diese dann abzuspeichern? Bin eventuell völlig auf dem Holzweg ? Danke für eure Tipps Grüße Mammut |
|||
|
04.03.2011, 11:39
Beitrag: #2
|
|||
|
|||
|
RE: Java als tmap oder als row-Quelle
Interssante Aufgabenstellung!
Um ein passende Vorgehen zu empfehlen müsste ich noch mehr über die zwei Queries und den Algorithmus wissen. In TOS gibt es sehr viele Möglichkeiten Probleme zu lösen. 1. Sind die beiden Queries(Felder, Type) identisch aufgebaut. 2. Müssen die Daten der beiden Queries zwischengespeichert werden, damit der Algorithmus dann laufen kann? D.h. der Algorithmus liefert seine Row basierte Ergebnisse in Abhängigkeit von den Gesamtdaten (z.B. Average von Gesamt)? 3. Können die Queries über einen Key miteinander in Reihe verknüpft werden? Q1 Key,Value 1,v1_1 2,v2_1 3,v3_1 Q2 Key,Value 2,v2_2 3,v3_2 4,v4_2 Merged Key,Value1,Value2 1,v1_1,v1_2 2,v2_1,v2_2 3,v3_1,<NULL> 4,<NULL>,v4_2 4. Über was für eine Datenmenge sprechen wir in diesem Zusammenhang? Gruss wg |
|||
|
04.03.2011, 11:57
Beitrag: #3
|
|||
|
|||
|
RE: Java als tmap oder als row-Quelle
Hallo wg1,
danke für die Anwort. Es geht um ein Programm für die Einsatzplanung. In der eine Abfrage sind Aufträge abgelegt. In der Form Auftragsnummer, von wo, nach wo, bis wann, spezielle Bedingungen. In der anderen Abfrage ist so etwas wie ein Fahrplan/Netzdaten abgelegt. In der Form Halteort,laufende Nummer der Orte/Stationen,Zeit,Umlauf,Fahrzeug Der Algorithmus bedient sich beider Tabellen und berechnet auf welcher Fahrt welcher Auftrag abgearbeitete werden sollte um die Kosten minimal zu halten. Dabei benötigt er die gesamte liste der Aufträge, und jeweils täglich das aktuelle Netz. Raus kommt am wieder ein Tabelle mit der Information welcher Auftrag über welche Netzpunkte abgewickelt werden sollte. Ich hoffe man das Problem jetzt ein wenig besser verstehen. Ach die Datenmenge ist relativ groß ca. 1 GB an Aufträgen und das Netz ungefähr 300 MB. Die Datenmenge könnte man noch einschränken doch geschickte SQL-Abfragen. Gruß Mammut |
|||
|
06.03.2011, 18:59
Beitrag: #4
|
|||
|
|||
|
RE: Java als tmap oder als row-Quelle
Hallo,
ich würde versuchen die beiden Quellen irgendwie mittels einem dynamischen Lookup zusammenzufassen. Dieser Lookup kann bei jeder Row (Main) das SQL für die verknüpfte Tabelle (Lookup) neu aufrufen. An der Stelle wo der Eintrag "Key1" steht könnte über Deine Funktion auch eine Berechnung erfolgen? Der in der globalMap stehende Wert könnte dann direkt im Lookup Query als Condition platziert werden. Sollte Dein Algorithums allerdings die Werte aus beiden Queries gleichzeitig benötigen, dann hilft wirlich nur Programmierung (TOS-Komponente). vanguard |
|||
|
|
Neuigkeiten!

,
