Hallo, Gast!

- Anmelden
- Registrieren

Neuigkeiten!
Willkommen zum ersten deutschspachigen Forum rund um die Open Source Softwarelösungen der Firma Talend. Dieses Forum ist fü alle Anwender die Fragen und/oder Antworten zum Thema Talend haben oder suchen.


Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
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 Smile,


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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu: