Kompleksowe przypadki użycia
Przykład zastosowania: Migracja przepływów pracy Alteryx
To pełna historia tego, jak ręcznie zbudowany przez analityka Polkomtela przepływ pracy Alteryx — łańcuch kolorowych pudełek narzędzi, który przez lata żył na laptopie jednej osoby — staje się kontrolowanym, opartym na chmurze potokiem danych DataFlow AI. Śledzimy każdy ekran i każdą decyzję, wyjaśnione tak, by mogła to zrozumieć osoba, która nigdy nie napisała ani linijki kodu.
Poznaj ludzi i problem
Przedstawmy Joannę. Joanna pracuje w analityce marketingowej w Polkomtel Plus. Nie jest inżynierem oprogramowania; jest analitykiem, który musi łączyć dane z arkuszy kalkulacyjnych i baz danych, by odpowiadać na pytania biznesowe. Od lat jej ulubionym narzędziem jest Alteryx Designer — program, w którym buduje się proces danych, przeciągając małe kolorowe ikony narzędzi na płótno i łącząc je liniami. Bez kodu, tylko pudełka i strzałki.
Alteryx jest wspaniały dla jednej osoby eksperymentującej przy biurku. Ale przerodził się w cichy problem dla Polkomtela:
- Każdy przepływ pracy to plik
.yxmd, który żyje na laptopie analityka lub na dysku współdzielonym. Nie ma centralnego repozytorium, kontroli wersji, pochodzenia danych — nie ma zapisu, kto co zmienił ani skąd pochodziły dane. - Przepływów pracy nie da się awansować do produkcji. Działają, gdy Joanna otwiera Alteryx i klika Uruchom. Jeśli Joanna jest na urlopie, raport się nie pojawi.
- Polkomtel płaci około 200 000 dolarów rocznie za licencje Alteryx, na dodatek do znacznie większego rachunku za Informaticę.
Polkomtel ma 50 do 100 przepływów pracy Alteryx takich jak ten Joanny i chce je wszystkie przenieść na DataFlow AI — tę samą nowoczesną, kontrolowaną platformę chmurową, na którą migrują przepływy pracy Informatica. Tam stają się one zaplanowanymi, wersjonowanymi, monitorowanymi potokami danych, które działają samodzielnie. Centrum Migracji wewnątrz DataFlow AI wykonuje większość tej konwersji automatycznie.
Mówiąc prościej
„Migracja" oznacza po prostu przeniesienie czegoś do nowego domu. Przenosimy instrukcje — łańcuch pudełek narzędzi Joanny — z Alteryx do DataFlow AI. Arkusze kalkulacyjne i bazy danych, które przepływ pracy odczytuje i zapisuje, nie przemieszczają się; zmienia się tylko narzędzie, które napędza proces.
Czym właściwie jest przepływ pracy Alteryx
Zanim Joanna będzie mogła przenieść przepływ pracy, warto wiedzieć, z czego jest on zbudowany. Przepływ pracy Alteryx jest znacznie płaszczy i prostszy niż ten Informatica — nie ma zagnieżdżonych sesji ani mapowań, jest tylko pojedyncze płótno.
| Termin Alteryx | Codzienna analogia | Czym to naprawdę jest |
|---|---|---|
Workflow (plik .yxmd) | Jedna linia montażowa narysowana na papierze | Cały proces — zestaw narzędzi połączonych ze sobą |
| Tool | Jedno stanowisko na linii montażowej | Pojedynczy krok przetwarzania — odczyt pliku, filtrowanie wierszy, obliczenie, łączenie, podsumowanie |
| Tool ID | Numer identyfikacyjny stanowiska | Unikatowy numer, który Alteryx nadaje każdemu narzędziu, by połączenia wiedziały, co z czym się łączy |
| Configuration | Pokrętła i ustawienia na tym stanowisku | Ustawienia specyficzne dla narzędzia — według której kolumny filtrować, jaką formułę zastosować |
| Annotation | Karteczka samoprzylepna na stanowisku | Przyjazna etykieta wpisana przez analityka dla narzędzia |
| Connection | Taśma transportowa między dwoma stanowiskami | Linia przenosząca dane z wyjścia jednego narzędzia do wejścia następnego |
Macro (plik .yxmc) | Gotowa mini-maszyna wmontowana w linię | Wielokrotnego użytku podprzepływ pracy zapisany jako osobny plik i wstawiany do większych przepływów pracy |
A więc przepływ pracy Alteryx to po prostu płaski zestaw narzędzi połączonych przez połączenia. Plik .yxmd jest tak naprawdę pod spodem plikiem XML — ustrukturyzowanym tekstem, który Centrum Migracji potrafi odczytać. DataFlow AI używa tej samej idei, ale nazywa narzędzia węzłami, a połączenia krawędziami, złożonymi w potok danych.
Wewnątrz .yxmd Centrum Migracji spodziewa się tego kształtu:
AlteryxDocument
├─ Properties → MetaInfo → Name (the workflow name, optional)
├─ Nodes
│ └─ Node (each has a ToolID)
│ ├─ GuiSettings (Plugin="…Filter.Filter" — tells us the tool type)
│ └─ Properties
│ ├─ Configuration (the tool's settings)
│ └─ Annotation → Name (the friendly label)
└─ Connections
└─ Connection → Origin / Destination
Centrum Migracji ustala, jakiego rodzaju narzędziem jest każdy węzeł, odczytując jego atrybut Plugin i biorąc ostatnie słowo: AlteryxBasePluginsGui.Filter.Filter oznacza po prostu narzędzie Filter.
Przykład, który będziemy śledzić: EksportujDoBazyWsparcia.yxmd
Pierwsza migracja Joanny to prawdziwy przepływ pracy Polkomtela: EksportujDoBazyWsparcia.yxmd, zbudowany w Alteryx 2022.3.
Mówiąc prosto, ten przepływ pracy obsługuje kuriera i logistykę (dane przesyłek „BDL"). Odczytuje z arkusza kalkulacyjnego Excel i bazy danych Teradata, przepuszcza dane przez około 50 narzędzi ułożonych w 4 równoległe strumienie, usuwa duplikaty pomiędzy różnymi źródłami, kieruje wiersze w zależności od środowiska i zapisuje wyniki do MSSQL i Teradata.
Jest oceniany jako złożoność średnio-wysoka, a Centrum Migracji spodziewa się mniej więcej 78%–82% automatycznej konwersji. Pozostałe około 18% to głównie niestandardowe makra — pliki .yxmc takie jak CountRecords.yxmc, Log_BDL_LH.yxmc i IdImportu.yxmc — plus jedna procedura składowana. Zobaczymy dokładnie, jak są one obsługiwane.
Krok 1 — Zlokalizuj i przygotuj plik .yxmd
Joanna nie musi niczego „eksportować" — plik .yxmd jest przepływem pracy. Po prostu znajduje EksportujDoBazyWsparcia.yxmd na dysku współdzielonym, na którym żyje.
Dwie praktyczne kwestie:
- Plik musi mieć rozszerzenie
.yxmd— tak Centrum Migracji rozpoznaje przepływ pracy Alteryx. (Makra Alteryx są zapisywane jako pliki.yxmc; nie można ich przesyłać bezpośrednio i są obsługiwane inaczej — zobacz Krok 7.) - Plik musi mieć 50 MB lub mniej. Definicje przepływów pracy to małe pliki tekstowe, więc rzadko jest to problemem.
Jeśli przepływ pracy opiera się na makrach parametryzujących środowisko — małych makrach, które tylko podają rzeczy takie jak nazwa bazy danych czy data — plan Polkomtela polega na wykluczeniu ich z automatycznej migracji i obsłużeniu parametrów natywnie w DataFlow AI.
Mówiąc prościej
Joanna w ogóle nie zmienia swojego przepływu pracy Alteryx. Przekazuje Centrum Migracji kopię planu. Oryginalny .yxmd nadal działa na jej laptopie, dokładnie jak wcześniej, dopóki nowy potok danych nie okaże się godny zaufania.
Krok 2 — Prześlij plik do Centrum Migracji
Przesłanie wykonuje kolega Joanny z zespołu inżynieryjnego, Marek (tworzenie potoków danych wymaga roli Inżyniera Danych). Loguje się do DataFlow AI pod adresem https://dataflow.polkomtel.internal swoim zwykłym pojedynczym logowaniem Polkomtela, klika Migracja w lewym panelu bocznym i ląduje na Kreatorze Importu.

Przeciąga EksportujDoBazyWsparcia.yxmd na strefę upuszczania. Centrum Migracji natychmiast uruchamia kilka kontroli bezpieczeństwa:
- Czy nazwa pliku jest obecna, a rozszerzenie dozwolone? Musi to być
.xml,.yxmdlub.dtsx..yxmdjest na liście, więc plik przechodzi pomyślnie. - Czy plik ma mniej niż 50 MB? Tak.
- Tworzy śledzone zadanie migracji, oznacza je jako
UPLOADED, bezpiecznie zapisuje surowy plik i zapisuje rekord zadania na dysku, więc nic nie ginie.
Od tego jednego przesłania Centrum Migracji uruchamia cały potok konwersji automatycznie. Marek po prostu obserwuje zmianę statusu zadania przez te etapy:
UPLOADED → PARSING → PARSED → CONVERTING → VALIDATING → VALIDATED
→ COMPLETED | COMPLETED_WITH_WARNINGS | FAILED
Kolejne sekcje wyjaśniają, co robi każdy etap.
Krok 3 — Parsowanie: odczytanie płótna na wspólny język
Status zadania zmienia się na PARSING. Centrum Migracji wybiera Parser Alteryx i odczytuje plik .yxmd.
Parser przechodzi przez każdy Node w pliku i sortuje każde narzędzie do jednego z trzech koszyków:
- Narzędzia wejściowe (takie jak
AlteryxInput,DbFileInput,FileInput) stają się źródłami — pobierają ścieżkę pliku, połączenie i tabelę. - Narzędzia wyjściowe (takie jak
AlteryxOutput,DbFileOutput,FileOutput) stają się celami. - Wszystko inne staje się transformacją — krokiem przetwarzania.
Dla każdego narzędzia odczytuje również odpowiednie szczegóły w zależności od typu narzędzia:
- Wiersze obliczeń narzędzia Formula (każdy: pole, wyrażenie, typ).
- Wiersze podsumowania narzędzia Summarize (każdy: pole, akcja).
- Tekst warunku zachowania narzędzia Filter.
- Wybrane pola narzędzia Select.
Na koniec odczytuje każde Connection i zapisuje je jako krawędź — strzałkę — łączącą odpowiednie narzędzia po ich Tool ID.
Wynikiem jest neutralny wobec narzędzi wewnętrzny opis przepływu pracy. To jest sprytna część: PowerCenter, Alteryx, SSIS i DataStage są wszystkie tłumaczone na ten sam wewnętrzny kształt, więc DataFlow AI potrzebuje potem tylko jednego silnika konwersji.
Jeśli plik .yxmd jest wadliwy, zadanie zatrzymuje się tutaj jako FAILED z jasnym komunikatem. Dla prawidłowego pliku Joanny parsowanie kończy się sukcesem, a status zmienia się na PARSED.
Mówiąc prościej
Parsowanie jest jak ktoś uważnie czytający narysowany ręcznie przez Joannę diagram linii montażowej i przerysowujący go na czysty, standardowy szablon. Proces się nie zmienił — zmienił się tylko sposób jego zapisania.
Krok 4 — Konwersja: zamiana każdego narzędzia Alteryx w węzeł DataFlow
Status zadania zmienia się na CONVERTING, a Silnik Reguł tworzy teraz równoważny potok danych DataFlow AI. Próbuje trzech warstw, po kolei:
- Precyzyjna reguła. Większość powszechnych narzędzi Alteryx ma dedykowaną, napisaną ręcznie konwersję. Są przewidywalne i godne zaufania — węzeł jest oznaczony źródłem konwersji
rule_engine. - Mapowanie ogólne. Niektóre narzędzia otrzymują poprawny typ DataFlow, ale jeśli ich pewność jest wystarczająco wysoka, są przenoszone z ogólną konfiguracją, a nie pełnym tłumaczeniem.
- Asystent AI (LLM). Tylko naprawdę nietypowe narzędzia — pewność poniżej 0,60 — są przekazywane do faktycznego modelu AI (Claude od Anthropic). Te węzły są oznaczone jako
llm.
To oznaczenie natychmiast mówi recenzentowi, jak powstał każdy węzeł.
Tabela mapowania narzędzie po narzędziu
Oto serce konwersji — jak każde narzędzie Alteryx staje się węzłem DataFlow. Niemal każda konwersja zamienia wizualne narzędzie w kawałek SQL, standardowego języka, którym mówią bazy danych, co sprawia, że wynik jest szybki i gotowy na chmurę.
| Narzędzie Alteryx | Co robi, prostymi słowami | Staje się (typ węzła DataFlow) | Pewność | Co zostaje zbudowane |
|---|---|---|---|---|
Input Data (AlteryxInput, DbFileInput, FileInput) | Odczytuje dane z pliku lub bazy danych | source | 0,90 | Definicja źródła z plikiem, połączeniem i tabelą |
Output Data (AlteryxOutput, DbFileOutput, FileOutput) | Zapisuje gotowe dane | sink | 0,90 | Definicja celu |
| Select | Zachowuje, odrzuca lub zmienia nazwy kolumn | column_select | 0,95 | Lista zachowanych pól |
| Filter | Odrzuca wiersze niespełniające warunku | sql_where | 0,95 | Warunek staje się klauzulą SQL WHERE |
| Formula | Oblicza nowe kolumny | sql_expression | 0,80 | Mapowanie pole-do-wyrażenia, przetłumaczone na SQL |
| Summarize | Sumy, liczby, średnie na grupę | sql_group_by | 0,90 | Pola „Group By" stają się GROUP BY; reszta staje się agregatami |
| Join | Łączy dwa strumienie w jeden | sql_join | 0,90 | Typ złączenia (domyślnie INNER) i pola złączenia |
| Union | Łączy kilka strumieni w jeden | sql_union_all | 0,95 | UNION ALL z trybem unii |
| Sort | Porządkuje wiersze | sql_order_by | 0,98 | SQL ORDER BY na wybranych polach |
| Sample | Zachowuje tylko pierwsze N wierszy | sql_limit | 0,85 | Konfiguracja ogólna |
| Unique | Usuwa zduplikowane wiersze | sql_distinct | 0,90 | Konfiguracja ogólna |
| CrossTab | Zamienia dane wysokie w szeroką tabelę | sql_pivot | 0,75 | Konfiguracja ogólna |
| Transpose | Zamienia szeroką tabelę w dane wysokie | sql_unpivot | 0,75 | Konfiguracja ogólna |
| RegEx | Dopasowuje wzorce i wyodrębnia z tekstu | regex_transform | 0,70 | Konfiguracja ogólna |
| DateTime | Przeformatowuje i parsuje daty | datetime_transform | 0,85 | Konfiguracja ogólna |
| Multi-Field Formula | Stosuje jedną formułę do wielu kolumn | multi_field_expression | 0,75 | Konfiguracja ogólna |
| Multi-Row Formula | Formuła, która patrzy na wiersz powyżej/poniżej | window_function | 0,65 | Konfiguracja ogólna — zalecany przegląd |
| Find Replace | Wyszukuje i podstawia wartości | string_replace | 0,80 | Konfiguracja ogólna |
| Text To Columns | Dzieli jedną kolumnę tekstową na kilka | split_column | 0,80 | Konfiguracja ogólna |
| Generate Rows | Tworzy wiersze z niczego (np. serię dat) | row_generator | 0,70 | Konfiguracja ogólna |
| Macro | Wielokrotnego użytku podprzepływ pracy (.yxmc) | custom_transform | 0,40 | Poniżej 0,60 — przekazane do asystenta AI |
| Python Tool | Niestandardowy kod Python | custom_transform | 0,35 | Przekazane do asystenta AI |
| R Script | Niestandardowy kod statystyczny R | custom_transform | 0,30 | Przekazane do asystenta AI |
| Run Command | Uruchamia zewnętrzny program | custom_transform | 0,30 | Przekazane do asystenta AI |
Mówiąc prościej
Narzędzia o wysokiej pewności na górze tabeli — Input, Select, Filter, Formula, Join, Summarize, Sort, Union, Output — to codzienny „chleb powszedni" każdego przepływu pracy Alteryx. Konwertują się przez zaufaną regułę, bez zachodu. To tylko narzędzia specjalne — makra, Python, R — wymagają uwagi człowieka.
Co konwertuje się automatycznie, a co wymaga przeglądu
Dla EksportujDoBazyWsparcia.yxmd obraz wygląda tak:
Konwertuje się automatycznie (te ~80%) — cztery równoległe strumienie są zbudowane głównie z narzędzi Input, Select, Filter, Formula, Join, Summarize, Sort i Union. Każde z nich ma precyzyjną regułę, konwertuje się jako rule_engine i osiąga 0,80 lub wyżej. Wejścia Excel i Teradata stają się węzłami źródłowymi; wyjścia MSSQL i Teradata stają się węzłami docelowymi (oba ze stałą pewnością 0,95).
Wymaga człowieka (te ~20%) — przepływ pracy używa niestandardowych makr, które muszą zostać zbadane i przepisane ręcznie, ponieważ logika makra żyje wewnątrz jego własnego pliku .yxmc, którego silnik nie widzi z samego .yxmd:
- Sześć kopii
CountRecords.yxmc— makro liczące wiersze. - Sześć kopii
Log_BDL_LH.yxmc— makro logujące. - Jedna kopia
IdImportu.yxmc— makro identyfikatora importu. - Jedna procedura składowana
plkPrzesylki_Aktualizacja_BDL, która działa jako krok Post-SQL w bazie danych.
Każde narzędzie makra jest konwertowane na symbol zastępczy custom_transform z pewnością 0,40 i kierowane do asystenta AI, który tworzy początkowy szkielet. Ale człowiek musi otworzyć oryginalne pliki .yxmc, zrozumieć, co robią, i właściwie dokończyć konwersję.
Uważaj
Niestandardowego makra .yxmc nie można zmigrować, czytając sam przepływ pracy — jego prawdziwa logika jest wewnątrz własnego pliku makra. Centrum Migracji jest co do tego uczciwe: oznacza każdy węzeł makra jako custom_transform, ocenia go nisko i flaguje do pracy manualnej, zamiast zgadywać. Każdy węzeł o typie custom_transform automatycznie blokuje wydanie bez nadzoru.
Krok 5 — Punktacja pewności i bramka wydania 0,85
Każdy przekonwertowany węzeł otrzymuje wskaźnik pewności między 0 a 1 — uczciwą ocenę silnika, jak bardzo jest pewien. Sort osiąga 0,98; Macro osiąga 0,40. Ogólna pewność to średnia wszystkich wyników węzłów.
Pewność kontroluje, czy migracja może zakończyć się samodzielnie. To jest bramka wydania, ustawiona na 0,85. Po konwersji Centrum Migracji zbiera listę problemów blokujących. Zadanie jest zablokowane, jeśli prawdziwe jest którekolwiek z poniższych:
- Ogólna pewność jest poniżej 0,85.
- Jakikolwiek pojedynczy obiekt przekonwertował się poniżej 0,80 pewności.
- Jakikolwiek obiekt ma typ
custom_transformlub niesie nierozwiązaneissues. - Walidacja znalazła problem.
Jeśli lista blokująca jest pusta, zadanie zostaje oznaczone jako COMPLETED. Jeśli ma choć jedną pozycję, zadanie zostaje oznaczone jako FAILED — a komunikat błędu wymienia dokładnie, która bramka zadziałała.
Dla EksportujDoBazyWsparcia.yxmd ponad siedem węzłów makr to wszystko custom_transform. To samo w sobie blokuje wydanie bez nadzoru, więc to zadanie jest FAILED przez bramkę. Nie jest to problem — to system działający poprawnie. Oznacza „inżynier musi dokończyć pracę nad makrami, zanim to trafi dalej". Marek spodziewa się tego dla przepływu pracy o złożoności średnio-wysokiej; tylko najprostsze przepływy pracy przechodzą prosto do COMPLETED.
| Kategoria wyniku | Co to oznacza dla inżyniera |
|---|---|
| W pełni automatyczny (~58% wszystkich przepływów pracy) | Przekonwertowane i gotowe — poniżej 30 minut przeglądu |
| Wspomagany przez AI (~27%) | AI to wygenerowało; przejrzyj i zatwierdź — 2–4 godziny |
| Praca ręczna (~12%) | Niestandardowa logika, makra, wtyczki — praca manualna, 1–3 dni |
| Nieobsługiwane (~3%) | Brak ścieżki migracji; musi być zaprojektowane od nowa |
Przepływy pracy Alteryx jako grupa konwertują się w zakresie 75%–82%. EksportujDoBazyWsparcia.yxmd ląduje na 78–82% automatycznie, z mniej więcej jednym dniem pracy manualnej nad makrami i procedurą składowaną.
Mówiąc prościej
Pomyśl o bramce jak o kontroli bezpieczeństwa na lotnisku dla Twojego potoku danych. Proste bagaże przechodzą prosto. Wszystko nietypowe — tutaj makra — jest odkładane na bok, by człowiek je otworzył i sprawdził. Centrum Migracji woli się zatrzymać i zapytać, niż przepuścić coś, czego w pełni nie rozumie.
Krok 6 — Walidacja: sześć niezależnych kontroli bezpieczeństwa
Gdy zadanie było w stanie VALIDATING, uruchomiły się dwie warstwy kontroli.
Kontrole strukturalne (Walidator Potoku) potwierdzają, że wygenerowany plik potoku danych jest poprawnie sformułowany:
- Składnia YAML — plik się parsuje, a jego najwyższy poziom jest właściwą strukturą.
- Wymagane klucze — potok danych ma
namei listęnodes. - Schemat węzła — każdy węzeł ma unikatowe
idi prawidłowytype(source,transform,sinklubquality). - Odwołania krawędzi — każda strzałka wskazuje na węzły, które istnieją.
- Skanowanie bezpieczeństwa SQL — każdy fragment SQL jest skanowany pod kątem niebezpiecznych poleceń (
DROP TABLE,TRUNCATE TABLE,ALTER TABLEi podobnych). - Nazwy konektorów — każdy konektor jest rozpoznawanym typem.
Kontrole biznesowe (zestaw sześciu kontroli) uruchamiają się, gdy Marek otwiera ekran Zestawu Walidacji:
| # | Kontrola | Zalicza, gdy |
|---|---|---|
| 1 | Składnia YAML | Walidator strukturalny zgłasza, że potok danych jest prawidłowy |
| 2 | Bezpieczeństwo SQL | Nie zgłoszono żadnych ostrzeżeń o niebezpiecznym SQL |
| 3 | Pokrycie transformacji | Co najmniej 50% obiektów przekonwertowanych z pewnością ≥ 0,80 |
| 4 | Wskaźnik pewności | Ogólna pewność wynosi co najmniej 0,60 |
| 5 | Kompletność węzłów | Potok danych ma co najmniej jedno źródło i jeden cel |
| 6 | Problemy mapowania | Żaden przekonwertowany obiekt nie niesie nierozwiązanego problemu |
Dla EksportujDoBazyWsparcia.yxmd kontrole strukturalne przechodzą i większość kontroli biznesowych przechodzi — ale kontrola 6 (problemy mapowania) oznaczy nierozwiązane węzły makr. To ten sam komunikat, który dała bramka wydania, przedstawiony ponownie jako wynik walidacji: dokończ makra.
Krok 7 — Przegląd przekonwertowanego potoku danych i dokończenie makr
Marek otwiera raport migracji na ekranie Konwersja AI. Układa on:
- Łączną liczbę obiektów, podzieloną na automatycznie przekonwertowane (pewność ≥ 0,8), wymagające przeglądu (0,5–0,8) i wymagające pracy ręcznej (poniżej 0,5).
- Rozkład pewności w przedziałach od „wysoki (90–100%)" w dół do „krytyczny (0–39%)".
- Pełną listę mapowań obiektów — każdy typ narzędzia Alteryx, jego nowy typ DataFlow, jego pewność i jego źródło konwersji (
rule_enginelubllm). - Problemy walidacji i ostrzeżenia.
- Szacunek nakładu pracy: około 0,25 godziny na węzeł automatyczny, 1 godzina na przegląd każdego węzła wspomaganego przez AI, 2 godziny na węzeł w pełni ręczny, plus testowanie i stałe 4 godziny testów integracyjnych.
- Pozycje do ręcznego przeglądu z dostosowanymi wskazówkami — dla makra wskazówka brzmi: ponownie zaimplementuj je jako funkcję zdefiniowaną przez użytkownika w Pythonie lub jako wbudowany SQL.
Dla EksportujDoBazyWsparcia.yxmd raport pokazuje cztery równoległe strumienie czysto automatycznie przekonwertowane, a makra i procedurę składowaną oznaczone jako praca manualna. Marek wykonuje teraz tę pracę:
- Dla każdego makra
CountRecords.yxmciLog_BDL_LH.yxmcotwiera oryginalny plik.yxmcw Alteryx, widzi, co robi (liczenie wierszy, zapisywanie wpisu do logu) i ponownie buduje tę małą porcję logiki natywnie w DataFlow AI — jako kontrolę jakości, mały SQL transform lub Python UDF. - Dla
IdImportu.yxmcrobi to samo — odtwarza logikę identyfikatora importu. - Dla procedury składowanej
plkPrzesylki_Aktualizacja_BDLzachowuje procedurę w bazie danych i konfiguruje potok danych DataFlow, by wywołać ją jako krok Post-SQL, lub przepisuje ją jako wbudowany SQL. - Mapuje kierowanie świadome środowiska (przepływ pracy zachowywał się inaczej w teście niż na produkcji) na natywne funkcje parametrów i środowiska DataFlow AI, a nie na makro.
Uważaj
Zawsze sprawdzaj kolumnę źródła konwersji w raporcie. Węzeł oznaczony rule_engine pochodzi z precyzyjnej, przetestowanej reguły — zaufaj mu na pierwszy rzut oka. Węzeł oznaczony llm był najlepszym wysiłkiem asystenta AI — zwykle dobry, ale człowiek musi go przeczytać, zrozumieć i zatwierdzić. Węzeł custom_transform to symbol zastępczy, który musi zostać dokończony ręcznie, zanim potok danych trafi dalej.
Krok 8 — Wdrożenie przekonwertowanego potoku danych
Gdy makra są dokończone, a raport jest czysty, Marek pobiera wynik. Na ekranie raportu klika Pobierz, wybiera format YAML i otrzymuje plik o nazwie EksportujDoBazyWsparcia_converted.yaml.
Ten plik YAML jest nowym potokiem danych — czystym, czytelnym dla człowieka opisem każdego źródła, transformacji i celu:
pipeline:
name: EksportujDoBazyWsparcia
description: Converted from Alteryx Designer
schedule: manual
sources:
- id: src_excel_bdl
type: source
connector: generic
- id: src_teradata_bdl
type: source
connector: teradata
transformations:
- id: filter_active_shipments
type: transform
depends_on: [src_teradata_bdl]
- id: join_bdl_streams
type: transform
depends_on: [filter_active_shipments, src_excel_bdl]
targets:
- id: sink_mssql_wsparcie
type: sink
connector: mssql
depends_on: [join_bdl_streams]
quality_checks:
- type: row_count_check
- type: null_check
- type: duplicate_check
- type: schema_validation
Zauważ kontrole jakości na dole — kontrola liczby wierszy, kontrola wartości pustych, kontrola duplikatów i kontrola schematu — dodane automatycznie jako zabezpieczenia. (Ponieważ niektóre węzły przekonwertowały się poniżej 0,80, dodana jest również kontrola data_reconciliation, wymieniająca oznaczone transformacje, by poddać je dodatkowej kontroli.)
Marek importuje YAML do przestrzeni roboczej DataFlow AI. Potok danych pojawia się w Studio Projektowym jako wizualny diagram — pudełka i strzałki, podobnie jak oryginalne płótno Alteryx, które zna Joanna. Tam ustawia jego prawdziwy harmonogram (raport był kiedyś uruchamiany na żądanie, więc zespół uzgadnia dzienny harmonogram cron), wypełnia połączenia i parametry oraz zapisuje. Zapisanie zatwierdza potok danych w Git — więc po raz pierwszy w historii przepływ pracy Joanny jest kontrolowany wersjami, centralnie przechowywany i działa samodzielnie bez otwierania Alteryx przez kogokolwiek.
Krok 9 — Weryfikacja wyników za pomocą uruchomienia równoległego
Marek nie wyłącza po prostu starego przepływu pracy Alteryx. Program migracji Polkomtela wymaga uruchomienia równoległego.
Przez co najmniej dwa tygodnie obie wersje działają na tych samych danych wejściowych: oryginalny .yxmd Joanny w Alteryx i nowy potok danych DataFlow AI. Uruchomienie Równoległe i Walidacja Parzystości Danych DataFlow AI porównuje oba wyniki w pięciu wymiarach:
- Dokładna liczba wierszy — ta sama liczba wierszy na wyjściu?
- Suma kontrolna — odcisk palca MD5/SHA-256 wszystkich danych.
- Próbkowanie kolumn — losowe 1000 wierszy porównanych kolumna po kolumnie.
- Liczby wartości pustych — liczby pustych wartości na kolumnę muszą się zgadzać.
- Czas wykonania — nowy potok danych musi zakończyć się w czasie 2× dłuższym niż stary.
Narzędzie tworzy jasny raport zaliczenia/niezaliczenia. Gdy EksportujDoBazyWsparcia przekroczy próg parzystości wyjścia Polkomtela przez pełne okno, zespół zatwierdza, całkowicie przełącza się na DataFlow AI, a licencja Alteryx dla tego przepływu pracy może w końcu zostać wycofana. Jeśli kiedykolwiek coś wygląda nie tak, powrót to jedna zmiana konfiguracji.
Mówiąc prościej
Uruchomienie równoległe jest jak uruchamianie nowej maszyny tuż obok starej przez dwa tygodnie i sprawdzanie, każdego dnia, że produkują identyczne produkty. Dopiero gdy nowa maszyna zasłuży na to zaufanie, stara zostaje wyłączona.
Cała podróż w skrócie
Oto kompletna wyprawa przepływu pracy Alteryx Joanny:
- Zlokalizuj
EksportujDoBazyWsparcia.yxmd— plik.yxmdjest przepływem pracy. - Prześlij go do Kreatora Importu Centrum Migracji.
- Centrum Migracji parsuje plik
.yxmdna neutralny wobec narzędzi opis. - Silnik Reguł konwertuje każde narzędzie na węzeł DataFlow — przez precyzyjną regułę, mapowanie ogólne lub asystenta AI.
- Każdy węzeł otrzymuje wskaźnik pewności; bramka wydania 0,85 decyduje o
COMPLETEDkontraFAILED. - Walidacja uruchamia sześć niezależnych kontroli bezpieczeństwa.
- Marek przegląda raport i dokańcza makra ręcznie, ponownie implementując każde jako Python UDF lub wbudowany SQL.
- Pobiera przekonwertowany YAML, importuje go do przestrzeni roboczej, ustawia harmonogram i połączenia oraz wdraża go.
- Dwutygodniowe uruchomienie równoległe dowodzi, że nowy potok danych dopasowuje się do starego wiersz po wierszu, po czym przepływ pracy Alteryx zostaje wycofany.
Pomnóż to przez 50–100 przepływów pracy Alteryx Polkomtela, a firma zamienia rozproszoną kolekcję plików .yxmd uwięzionych na laptopach w kontrolowany, zaplanowany, wersjonowany zestaw potoków danych w chmurze — i wycofuje przy okazji licencję kosztującą 200 000 dolarów rocznie.
Najczęściej zadawane pytania
Dlaczego makr nie można migrować automatycznie? Logika makra żyje wewnątrz jego własnego osobnego pliku .yxmc. Centrum Migracji odczytuje przepływ pracy .yxmd, który tylko odwołuje się do makra po nazwie — nie może zajrzeć do jego wnętrza. Więc makra są flagowane jako praca manualna; inżynier otwiera .yxmc, rozumie je i odbudowuje logikę natywnie.
Moje zadanie pokazało FAILED, ale strumienie przekonwertowały się dobrze — co się stało? FAILED oznacza, że bramka wydania zadziałała — wymaga człowieka. Dla przepływu pracy Alteryx z makrami węzły symboli zastępczych custom_transform automatycznie blokują wydanie bez nadzoru. Dokończ makra, a bramka zostanie zaliczona.
Czy dane przemieszczają się podczas migracji? Nie. Tylko instrukcje przenoszą się z Alteryx do DataFlow AI. Pliki Excel, bazy danych Teradata i MSSQL — wszystkie pozostają dokładnie tam, gdzie były.
Co się dzieje z narzędziami Python lub R w przepływie pracy? Podobnie jak makra, są konwertowane na symbole zastępcze custom_transform i wysyłane do asystenta AI po początkowy szkielet. Inżynier następnie je przegląda i dokańcza — zazwyczaj jako Python UDF w DataFlow AI.
Czy nowy potok danych będzie wyglądał znajomo dla analityka? Tak. W Studio Projektowym przekonwertowany potok danych jest pokazany jako wizualne płótno pudełek i strzałek — ta sama idea przeciągnij-i-połącz, której Joanna używała w Alteryx — ale teraz jest zaplanowany, monitorowany, kontrolowany i wersjonowany.