tła (przepraszam, że tak długo):R vs Pentaho Łyżka jako narzędzie ETL
Mam za zadanie utrzymywanie ETL, który zbiera różne dane reklamowych, około 20-30 MBs dziennie, a dołącza go do tabel w MySQL. Zewnętrzni wykonawcy zbudowali ETL z Pentaho Spoon (kuchnia, czajnik?). ETL składa się z około 250 zadań i przekształceń (.ktr, .kjb), każdy z około 5 do 25 kroków. Bardzo często zdarza się, że coś dzieje się źle w tym dużym procesie. Odkryłem, że pisanie skryptów R w celu przeprowadzenia transformacji i ładowania jest znacznie wydajniejsze. W rzeczywistości, myślę, że ETL może być zredukowany do znacznie poniżej 1000 linii kodu oprócz połączeń z RMySQL (to jest plyr!). Być może Python zostanie użyty do wyodrębnienia danych z sieci.
Moje użycie R doprowadziło do pewnego oporu. Programiści komputerowi, którzy zaprojektowali ETL, nie znają R, więc nie można by tego nazwać, gdybym odszedł, a ponadto zainwestowano dużo czasu w ETL Łyżki. Również laika może łatwiej obserwować kroki wizualnie w Spoon, niż w skryptach R. Z mojej strony myślę, że grzęźnie ETL. Jednak nie mam dużego głosu w tej kwestii, ponieważ nie mam wykształcenia informatycznego.
Prosimy o komentarz, jeśli masz jakiekolwiek spostrzeżenia na temat poniższych. Należy wiedzieć, że zostały badania tego przez kilka miesięcy i przeczytałem wiele opinii, ale nic tak zwięzły i niezawodny jak zwykle zapewnia SO:
R nie został nazywany przez niektórych jako skalowalne w firmie. Myślę, że odwrotnie, głównie z powodu możliwości logowania. Łyżka ma ograniczone wyniki czystego rejestrowania, podczas gdy wszystkie skrypty R można zatopić w dzienniku. Naprawianie i unikanie błędów w .ktrs jest bardzo uciążliwe, ale łatwe w ustawianiu flag i/lub przeszukiwaniu logu R. Jakieś przemyślenia na ten temat?
To prowadzi do pytania o duże zdjęcie. Jaki jest sens ETL-ów, takich jak Pentaho? Ten post Do I need a ETL? prowadzi mnie do przekonania, że jeśli używasz R lub innego tak zwanego OOL, nie ma powodu, aby mieć narzędzie takie jak Pentaho. Czy ktoś może to potwierdzić, jeśli tak? Naprawdę potrzebuję tutaj drugiej opinii. Jeśli tak, to kto używa narzędzi takich jak Pentaho? Czy to po prostu ludzie bez tła programowania, czy ktoś inny? Widzę sporo pytań Pentaho na SO.
To prawda, że o wiele więcej osób używa R, a nie Pentaho, prawda? Ten http://www.kdnuggets.com/2012/05/top-analytics-data-mining-big-data-software.html sprawia, że tak wygląda. Szczerze mówiąc byłem zaskoczony, że Pentaho był piąty, co sprawia, że zastanawiam się podwójnie, kto używa Pentaho i jeśli moje wątpliwości co do wykorzystania w mojej pracy są niewłaściwie umieszczone.
Dzięki za wszelkie odpowiedzi. Nie mam na myśli żadnej protekcjonalności wobec użytkowników Łyżki lub Łyżki; Jestem po prostu zdezorientowany i potrzebuję opinii zewnętrznych.
Zasugeruj, aby zadać to pytanie dalej na temat quory - to wydaje się być lepszym miejscem do subiektywnej dyskusji/debaty. Myślę, że to świetny temat i że warto się gdzieś zastanowić. – Codek
Interesujące, nie jestem jedynym, który myśli o tym: BARUG chce skupić na nim spotkanie. http://www.meetup.com/R-Users/events/47885552/?a=md1_evn&rv=md1&_af_eid=47885552&_af=event. FWIW, rzuciłem pracę po zaledwie 1 roku, ponieważ nieskuteczność doprowadzała mnie do szaleństwa. Szczęśliwie i myślę, że skutecznie teraz używam R w środowisku startowym. – StatSandwich
Już używam data.table dla procesów ETL w R, jego składnia jest przyjazna, a każde nawiasy DT [,] można porównać do bloku transformacji pod względem ETL. W odniesieniu do pytania 1. można wykonać proces logowania, aby rejestrować wszystko, co chcesz: czas transformacji, przetworzony nrow, komunikat o błędzie z catched. Po prostu upuść obiekt log_dt (data.table/data.frame) do dbWriteTable. – jangorecki