Mam kilka przykładowych zadań, które migrują dane z jednej bazy danych do drugiej i chciałbym mieć informacje o bieżącym postępie, takie jak ten, który masz, gdy zadanie jest uruchamiane interaktywnie z samej aplikacji (eksportuję i uruchamiam z wiersz poleceń). Używam flowMeter i statsCatcher, ale wszystko, co mam, to ogólny czas i całkowita liczba przekazanych rekordów (np. 4657 sec, 50.000.000 wierszy). Czy istnieje jakieś rozwiązanie, aby uzyskać przyzwoity dziennik?Jak rejestrować postęp zadań w Talend Open Studio?
Odpowiedz
O ile mi wiadomo, tLogRow
wysyła do konsoli. Więc możesz łatwo podłączyć do niego wyjście.
Jeśli tLogRow
nie wystarczy, można podłączyć wyjście do komponentu TJavaFlex
. Tam możesz użyć czegoś takiego jak log4j lub dowolne niestandardowe wyjście.
Możesz również użyć tFileDelimitedOutput
jako pliku dziennika. Ten komponent ma ładną opcję "dołącz", która działa jak amulet dla tego przypadku użycia.
za pytanie powyżej: Jak uzyskać informacje dziennika
doświadczenia mogę powiedzieć, że niektóre elementy wyprowadza przepływ. Na przykład tMysqlInput
wyświetla pomyślnie wstawione wiersze.
Ogólnie, aby zalogować informacje, używam komponentu tReplicate
, który pozwala mi wyprowadzić kopię przepływu do pliku dziennika.
tMySqlOutput ---- tReplicate ----- tMap -------- tMySqlInput (insert in DB)
+---- tMap -------- tDelimitedFile (log info)
Twoje rozwiązanie polega na dodaniu warunkowej klauzuli do logowania. Coś prawda jeden wiersz każdy, powiedzmy, 50000. Ten warunek stosując sekwencję powinno działać:
Numeric.sequence("log_seq",1,1) % 50000 == 0
Można użyć niestandardowego komponentu bcLogBack na zasadzie wyjście Twój dziennik za pomocą stosu elewacji sl4j. Komponent ma opcję o nazwie "Rejestrowanie warunkowe", aby wysłać wiadomość tylko wtedy, gdy warunek zostanie oceniony jako prawdziwy.
Ewentualnie, jeśli nie podoba Ci się pomysł instalacji niestandardowego komponentu, możesz zakończyć subjob, używając standardowego tLogRow (lub tWarn, tDie lub cokolwiek innego) poprzedzonego przez tFilter z tym samym wyrażeniem co warunek zaawansowany. W ten sposób dasz przepustkę strumień (i wiadomości dziennika być wyzwalany) tylko jeden raz każdy 50000. Oto bardzo podstawowy schemat przydzielonego stanowiska
//---->tMySqlOutput--->tFilter-----//filter--->tWarn (or tLogRow)
tFilter wydaje się być dobrym rozwiązaniem. –
Można również użyć tWarn w połączeniu z tLogCatcher:
tMySqlOutput ---- tFilter ---- tWarn
tLogCatcher ---- TMap ---- tLogRow
tFilter by uniemożliwić zalogowaniu postępy na każdym zakończeniu wiersza (patrz odpowiedź Gabriele b). tWarn miałby prawdziwą wiadomość, którą chcesz wylogować.
tLogCatcher powinien otrzymać dane wejściowe ze wszystkich tWarnów, tMapper przekształca każdy wiersz z LogCatchera do wiersza wyjściowego, a tLogRow rejestruje go.
Ta odpowiedź jest opisany bardziej szczegółowo (ze zdjęciami): http://blog.wdcigroup.net/2012/05/error-handling-in-talend-using-tlogcatcher/
- 1. jak ładować dane szybciej dzięki serwerowi talend i sql
- 2. Jak śledzić postęp poszczególnych zadań w grupie, która tworzy nagłówek akordu w selera?
- 3. Open "Klasa Explorer" w Visual Studio 2010
- 4. Jak zidentyfikować postęp pliku?
- 5. Jak rejestrować wyjątki "catched"?
- 6. Jak programowo rejestrować PerformanceCounter
- 7. Jak uzyskać przycisk paska zadań systemu Windows, aby wyświetlić postęp paska postępu
- 8. Jak uzyskać postęp z XMLHttpRequest
- 9. Jak rejestrować zawartość transakcji wiosennych?
- 10. Jak rejestrować aktywność połączenia JDBC?
- 11. Jak rejestrować skomplikowany proces synchronizacji?
- 12. Jak używać parametru Postęp w AFNetworking 2.0
- 13. Jak debugować/rejestrować aplikację WSGI?
- 14. Napisz JSON do pola za pomocą Talent Open Studio
- 15. Jak rejestrować odpowiedzi JSON w Dropwizard (Jersey)
- 16. Jak rejestrować zużycie pamięci w systemie Linux?
- 17. Jak rejestrować instrukcje SQL w Dropwizard
- 18. Jak rejestrować tekst wielowierszowy w Logback/SLF4J?
- 19. Jak rejestrować nieobsłużone wyjątki w ASP.NET MVC?
- 20. Jak rejestrować wszystkie nagłówki w nginx?
- 21. Visual Studio 2012 Lista zadań dla JavaScript
- 22. Zastosowanie postęp Dialog w stopce
- 23. Nieokreślony postęp w działaniu Androida
- 24. Czy istnieje menedżer zadań, taki jak aplikacja do wizualnego studio?
- 25. Skrypt, aby pokazać postęp?
- 26. Jak debugować pliki studio gradle Android i zadań?
- 27. Przypisywanie użytkowników do zadań w Visual Studio Team Services
- 28. Django - postęp akcji wyświetlania
- 29. Problem z zamawianiem zadań Gradle w Androidzie Studio
- 30. Animacja CSS3 "postęp" callback
Nie chcę się zalogować każdy wiersz, ale dopiero kilka wskazówek postępu (jak dodaje 100,000 50,000 włożona ... etc) – Bax
Twierdzę zmienna statyczna z ilością przetworzonych wierszy, a następnie wyprowadzana, gdy chcesz. Nie sądzę, że jest coś gotowego do użycia. –
Głównym problemem nie jest to, jak go wypuścić, ale jak go uzyskać. – Bax