Nog niet zo lang geleden, had ik nooit verwacht kunstmatige intelligentie (AI) te gebruiken. Tijdens mijn studie hoorde ik erover en dacht ik: “Dit zal nooit beschikbaar zijn tijdens mijn leven.” Maar nu is de tijd aangebroken en hier staan we dan.
Dat gezegd hebbende, er zijn aspecten in mijn dagelijkse werk waarbij ik ervoor kies om generatieve AI-tools, zoals ChatGPT, te automatiseren, ongeacht mijn vaardigheden met SQL en dbt. Na vijf jaar ervaring in de industrie, wil ik graag enkele tips delen:
Je hoeft niet overal uitblinkend in te zijn
Ik begrijp volledig hoe waardevol het gebruik van ChatGPT kan zijn bij het werken met reguliere expressies (REGEXP). Het kan inderdaad een tijdrovende en soms frustrerende taak zijn om REGEXP uit te voeren, en ChatGPT kan een waardevolle hulpbron zijn om dit proces te automatiseren en te vereenvoudigen.
De taak van het identificeren van het specifieke gebruiksscenario voor REGEXP in SQL-query’s kan van groot belang zijn. Dit kan variëren van het extraheren van specifieke gegevens tot het matchen van bepaalde patronen in de gegevens. Afhankelijk van het gebruiksscenario moet u de juiste aanpassingen maken in uw prompt aan ChatGPT.
In mijn ervaring is tekstextractie een veelvoorkomend gebruiksscenario voor REGEXP. Als u dit specifieke doel heeft, kunt u ChatGPT vragen om u te helpen bij het genereren van REGEXP-compatibele uitdrukkingen voor tekstextractie. Het is belangrijk om te onthouden dat u, om het SQL-dialect niet te noemen, soms een syntaxisfout kunt krijgen. Daarom is het handig om ChatGPT te laten weten welke specifieke dialecten u gebruikt om verwarring te voorkomen. Ook is het opvallend dat de herhalingsoperator ( ? ) in sommige dialecten niet bestaat, dus u moet ChatGPT hieraan herinneren om onnodige fouten te voorkomen.
Het documenteren en testen van de gegenereerde expressies is inderdaad essentieel. ChatGPT kan suggesties geven, maar het is belangrijk om uw eigen due diligence uit te voeren en de resultaten te vergelijken met uw specifieke gegevens. Als u dbt gebruikt, heeft u zelfs de mogelijkheid om de gegenereerde expressie te testen op echte gegevensrijen om ervoor te zorgen dat deze correct werkt naarmate uw gegevens evolueren. Iteratie en testen zijn inderdaad de sleutel tot succes bij het gebruik van AI voor dit doel.
Het gebruik van ChatGPT als hulpmiddel bij het werken met REGEXP in SQL-query’s kan uw productiviteit verbeteren en de complexiteit van deze taak verminderen. Het is belangrijk om de juiste aanpassingen te maken in uw prompts en zorgvuldig te documenteren en te testen om de beste resultaten te behalen.
Automatiseer waar mogelijk en pas aan wanneer nodig
Hoewel ik een grote fan ben van dbt (een tool voor het bouwen van gegevens) en alle mogelijkheden die het biedt aan analyse-ingenieurs, kan het soms een beetje vervelend zijn om .yml-bestanden te maken en uw gegevens te documenteren. Sommige datamodellen zijn te specifiek voor uw bedrijfscontext om volledig te automatiseren, maar ze lenen zich uitstekend voor het automatiseren van de documentatie van uw staging-modellen, die meestal gericht zijn op uw gegevensbronnen.
Met behulp van natuurlijke taalbeschrijvingen kunt u taken automatiseren, zoals het verzekeren dat de primaire sleutel (id) nooit nul is en altijd uniek, en dat de kolom Updated_at nooit nul is. Het is ook handig voor het genereren van basisdocumentatie voor eenvoudigere modellen, zoals gebruikers, bestellingen en verkopen. Een algemene basisprompt die ik gebruik, is als volgt: “Genereer een dbt .yml-bestand voor een model met de naam gebruikers en beschrijf het model dienovereenkomstig. Voeg de volgende kolommen toe aan de .yml (probeer DESC VIEW/TABLE uit te voeren in uw IDE om snel een lijst van alle kolommen te krijgen). Zorg ervoor dat de primaire sleutelkolom (id) uniek is en niet-null. Zorg ervoor dat de kolom Updated_at niet-null is. Leid de documentatie voor alle kolommen af of laat deze leeg. Daar hoeft het niet bij te blijven; u kunt ook geavanceerdere tests toevoegen aan dbt-gegevenstests door aanwijzingen op te nemen zoals ‘maak een test voor de kolom ‘winstmarge’ om te verifiëren dat deze altijd positief is’.”
Hoewel de .yml-generatie niet elke kolom kan behandelen, kan deze ongeveer 90% van het bestand met een comfortabel nauwkeurigheidsniveau invullen. Net als bij de reguliere expressies uit mijn vorige voorbeeld, zal er enige menselijke interactie nodig zijn om het volledig af te ronden, maar het neemt een groot deel van het werk uit handen. Daarnaast kunt u ook links naar brondocumentatie toevoegen en aan ChatGPT vragen om deze, indien van toepassing, aan uw .yml toe te voegen.
Het is ook belangrijk om te onthouden dat u ChatGPT kunt vragen om uw .yml-bestand aan te vullen in de traditionele .yml-indeling (met stringbeschrijvingen) of met behulp van doc-blokken via een Markdown-bestand. Beide documentatiemethoden zijn geweldig, maar naarmate uw project groter wordt, kan het migreren naar doc-blokken waar u de luxe heeft om documentatie van upstream-modellen naar downstream-bronnen te halen, voordelen bieden. Blijf op de hoogte voor toekomstige berichten over de voordelen van het migreren van traditionele .yml naar doc-blokken.
Lees hier nieuws over AI-ChatGPT
Samenvatten
De integratie van ChatGPT in mijn analyse-engineeringworkflows heeft aanzienlijke voordelen opgeleverd voor mijn efficiëntie en effectiviteit bij taken zoals het automatiseren van REGEXP- en dbt-bestanden (.yml). Hoewel ik mijn carrièrekeuze met passie volg, besef ik dat niet elk aspect van mijn werk even boeiend is. Juist daarom ben ik een fervent voorstander van het gebruik van AI om mij te assisteren, vooral in deze specifieke domeinen waar verschillende projecten lopen en diverse SLA’s moeten worden nageleefd. Dit stelt me in staat om me te concentreren op de creatieve en strategische aspecten van mijn werk, terwijl AI de repetitieve en tijdrovende taken voor zijn rekening neemt. Dit resulteert in een aanzienlijke verbetering van mijn algehele productiviteit en de kwaliteit van mijn gegevensmanipulatie en documentatie.