Redigerer
Datatransformasjon
(avsnitt)
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
== Transformasjonsspråk == Det finnes mange programmeringsspråk som er egnet for å utføre datatransformasjoner.<ref>DMOZ. Extraction and Transformation. Retrieved from: https://dmoztools.net/Computers/Software/Databases/Data_Warehousing/Extraction_and_Transformation/ {{Wayback|url=https://dmoztools.net/Computers/Software/Databases/Data_Warehousing/Extraction_and_Transformation/ |date=20170829041136 }}</ref> Mange [[Transformasjon språk|transformasjonsspråk]] krever en formell [[grammatikk]]. I mange tilfeller er grammatikken strukturert etter et mønster som ligner [[Backus-Naur form|Backus-Naur-formen]] (BNF). Noen eksempler på transformasjonsspråk inkluderer: * [[Awk]], et av de eldste og mest populære tekstdatatransformasjonsspråkene * [[Perl]], et språk på høyt nivå med både prosedyre- og objektorientert syntaks som er i stand til kraftfulle operasjoner på binære eller tekstdata * [[Malsystem for internett|Malsystem-språk]], spesialisert for å transformere data til dokumenter (se også [[Template processor|malprosessor]]) * [[TXL (programmeringsspråk)|TXL]], språkbaserte beskrivelser for prototyping, brukt til kildekode eller datatransformasjoner * [[XSLT]], standardspråket for XML-transformasjoner (egnet med [[XQuery]] i mange applikasjoner) I tillegg har selskaper som Trifacta og Paxata utviklet domenespesifikke transformasjonsspråk (DSL-er) for vedlikehold og transformering av datamengder. Utviklingen av domenespesifikke språk har vært knyttet til økt produktivitet og tilgjengelighet for ikke-tekniske brukere.<ref>{{Kilde www|url=https://docs.trifacta.com/display/PE/Wrangle+Language|tittel=Wrangle Language - Trifacta Wrangler - Trifacta Documentation|besøksdato=2017-09-20|arkiv-dato=2017-09-21|arkiv-url=https://web.archive.org/web/20170921045735/https://docs.trifacta.com/display/PE/Wrangle+Language|url-status=yes}}</ref> Trifacta sin "Wrangle" er et eksempel på et slikt domenespesifikt språk.<ref name=":0">{{Kilde www|url=https://conferences.oreilly.com/strata/stratany2014/public/schedule/detail/36612|tittel=Advantages of a Domain-Specific Language Approach to Data Transformation - Strata + Hadoop World in New York 2014|besøksdato=2017-09-20|fornavn=Joe Hellerstein, Sean|etternavn=Kandel}}</ref> En annen fordel med trenden av domenespesifikke transformasjonsspråk er at de kan abstrahere den underliggende utførelsen av logikken som er definert av det domenespesifikke transformasjonsspråket. De kan også bruke den samme logikken med forskjellige prosesseringsmotorer som for eksempel [[SPARK (programmeringsspråk)|SPARK]], [[MapReduce]] og [[Microsoft Dataflow|Dataflow]]. Altså, med domenespesifikke transformasjonsspråk er ikke transformasjonsspråket knyttet til den underliggende motoren.<ref name=":0"/> Selv om transformasjonsspråk vanligvis er best egnet for transformasjon så kan noe så enkelt som vanlige [[Regulært uttrykk|regulære uttrykk]] brukes for å oppnå en nyttig transformasjon. [[Teksteditor|Tekstredigeringsprogrammer]] som [[vim]], [[emacs]] eller TextPad støtter bruk av regulære uttrykk med argumenter. Dette vil tillate at alle forekomster av et bestemt mønster erstattes med et annet mønster ved bruk av deler av det originale mønsteret. Eksempelvis kan uttrykkene: <pre> foo ("some string", 42, gCommon); bar (someObj, anotherObj); foo ("another string", 24, gCommon); bar (myObj, myOtherObj); </pre> Gjøres om til en mer kompakt form som: foobar("some string", 42, someObj, anotherObj); foobar("another string", 24, myObj, myOtherObj); Med andre ord vil alle forekomster av et funksjonskall av foo med tre argumenter etterfulgt av et funksjonskall med to argumenter bli erstattet med et enkelt funksjonskall ved hjelp av noen eller alle de opprinnelige argumentene. En annen fordel med å bruke regulære uttrykk er at de ikke vil feile "nulltransformasjonstesten". Testen vil si at man bruker et valgt transformasjonsspråk og kjører et prøveprogram gjennom en transformasjon som ikke utfører noen transformasjoner. Mange transformasjonsspråk vil feile denne testen.
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon