Apache isbjerg er et åbent tabelformat for meget store analytiske datasæt, som fanger metadataoplysninger om datasæts tilstand, efterhånden som de udvikler sig og ændrer sig over tid. Det tilføjer tabeller til computermotorer, herunder Spark, Trino, PrestoDB, Flink og Hive ved hjælp af et højtydende tabelformat, der fungerer ligesom en SQL-tabel. Iceberg er blevet meget populær for sin støtte til ACID-transaktioner i datasøer og funktioner som skema- og partitionsudvikling, tidsrejser og rollback.
Apache Iceberg-integration understøttes af AWS-analysetjenester, herunder Amazon EMR, Amazonas Athenaog AWS Lim. Amazon EMR kan levere klynger med Spark, Hive, Trino og Flink, der kan køre Iceberg. Fra og med Amazon EMR version 6.5.0 kan du brug Iceberg med din EMR-klynge uden at kræve en bootstrap-handling. I begyndelsen af 2022 annoncerede AWS generel tilgængelighed af Athena ACID-transaktioner, drevet af Apache Iceberg. Den nyligt udgivne Athena query engine version 3 giver bedre integration med Iceberg bordformatet. AWS Glue 3.0 og nyere understøtter Apache Iceberg-rammen til datasøer.
I dette indlæg diskuterer vi, hvad kunderne ønsker i moderne datasøer, og hvordan Apache Iceberg hjælper med at imødekomme kundernes behov. Derefter gennemgår vi en løsning til at bygge en højtydende og udviklende Iceberg-datasø på Amazon Simple Storage Service (Amazon S3) og behandle inkrementelle data ved at køre indsæt, opdater og slet SQL-sætninger. Til sidst viser vi dig, hvordan du tuner processen med ydeevnen for at forbedre læse- og skriveydelsen.
Hvordan Apache Iceberg adresserer, hvad kunderne ønsker i moderne datasøer
Flere og flere kunder bygger datasøer med strukturerede og ustrukturerede data for at understøtte mange brugere, applikationer og analyseværktøjer. Der er et øget behov for datasøer til at understøtte databaser som funktioner såsom ACID-transaktioner, opdateringer og sletninger på rekordniveau, tidsrejser og rollback. Apache Iceberg er designet til at understøtte disse funktioner på omkostningseffektive petabyte-skala datasøer på Amazon S3.
Apache Iceberg imødekommer kundernes behov ved at fange rig metadatainformation om datasættet på det tidspunkt, hvor de individuelle datafiler oprettes. Der er tre lag i arkitekturen af en Iceberg-tabel: Iceberg-kataloget, metadatalaget og datalaget, som afbildet i følgende figur (kilde).
Iceberg-kataloget gemmer metadatamarkøren til den aktuelle tabelmetadatafil. Når en udvalgt forespørgsel læser en Iceberg-tabel, går forespørgselsmotoren først til Iceberg-kataloget og henter derefter placeringen af den aktuelle metadatafil. Når der er en opdatering til Iceberg-tabellen, oprettes et nyt øjebliksbillede af tabellen, og metadatamarkøren peger på den aktuelle tabelmetadatafil.
Følgende er et eksempel på et isbjergkatalog med implementering af AWS Glue. Du kan se databasenavnet, placeringen (S3-sti) for Iceberg-tabellen og metadataplaceringen.
Metadatalaget har tre typer filer: metadatafilen, manifestlisten og manifestfilen i et hierarki. Øverst i hierarkiet er metadatafilen, som gemmer information om tabellens skema, partitionsoplysninger og øjebliksbilleder. Snapshottet peger på manifestlisten. Manifestlisten har oplysningerne om hver manifestfil, der udgør snapshottet, såsom placeringen af manifestfilen, de partitioner, den tilhører, og de nedre og øvre grænser for partitionskolonner for de datafiler, den sporer. Manifestfilen sporer datafiler såvel som yderligere detaljer om hver fil, såsom filformatet. Alle tre filer arbejder i et hierarki for at spore snapshots, skema, partitionering, egenskaber og datafiler i en Iceberg-tabel.
Datalaget har de individuelle datafiler fra Iceberg-tabellen. Iceberg understøtter en lang række filformater, herunder Parket, ORC og Avro. Fordi Iceberg-tabellen sporer de individuelle datafiler i stedet for kun at pege på partitionsplaceringen med datafiler, isolerer den skriveoperationerne fra læseoperationer. Du kan til enhver tid skrive datafilerne, men begå kun ændringen eksplicit, hvilket skaber en ny version af snapshot- og metadatafilerne.
Løsningsoversigt
I dette indlæg leder vi dig gennem en løsning til at bygge en højtydende Apache Iceberg-datasø på Amazon S3; behandle inkrementelle data med indsæt, opdatering og sletning af SQL-sætninger; og tuner Iceberg-tabellen for at forbedre læse- og skriveydelsen. Følgende diagram illustrerer løsningsarkitekturen.
For at demonstrere denne løsning bruger vi Amazon kundeanmeldelser datasæt i en S3-bøtte (s3://amazon-reviews-pds/parquet/
). I virkelige tilfælde ville det være rådata, der er gemt i din S3-bøtte. Vi kan kontrollere datastørrelsen med følgende kode i AWS kommandolinjegrænseflade (AWS CLI):
Det samlede antal objekter er 430, og den samlede størrelse er 47.4 GiB.
For at konfigurere og teste denne løsning udfører vi følgende trin på højt niveau:
- Opsæt en S3-spand i den kurerede zone for at gemme konverterede data i Iceberg-tabelformat.
- Start en EMR-klynge med passende konfigurationer til Apache Iceberg.
- Opret en notesbog i EMR Studio.
- Konfigurer Spark-sessionen til Apache Iceberg.
- Konverter data til Iceberg-tabelformat og flyt data til den kurerede zone.
- Kør indsæt, opdater og slet forespørgsler i Athena for at behandle inkrementelle data.
- Udfør performance tuning.
Forudsætninger
For at følge med i denne gennemgang skal du have en AWS-konto med en AWS identitets- og adgangsstyring (IAM) rolle, der har tilstrækkelig adgang til at levere de nødvendige ressourcer.
Opsæt S3-bøtten til isbjergdata i den kurerede zone i din datasø
Vælg den region, hvor du vil oprette S3-bøtten, og angiv et unikt navn:
Start en EMR-klynge for at køre Iceberg-job ved hjælp af Spark
Du kan oprette en EMR-klynge fra AWS Management Console, Amazon EMR CLI, eller AWS Cloud Development Kit (AWS CDK). Til dette indlæg guider vi dig gennem, hvordan du opretter en EMR-klynge fra konsollen.
- Vælg på Amazon EMR-konsollen Opret klynge.
- Vælg Avancerede indstillinger.
- Til Software Configuration, vælg den seneste Amazon EMR-udgivelse. Fra januar 2023 er den seneste udgivelse 6.9.0. Iceberg kræver udgivelse 6.5.0 og nyere.
- Type JupyterEnterpriseGateway , Spark som software, der skal installeres.
- Til Rediger softwareindstillinger, Vælg Indtast konfiguration og indtast
[{"classification":"iceberg-defaults","properties":{"iceberg.enabled":true}}]
. - Lad andre indstillinger stå som standard, og vælg Næste.
- Til Hardware, brug standardindstillingen.
- Vælg Næste.
- Til Klyngenavn, indtast et navn. Vi bruger
iceberg-blog-cluster
. - Lad de resterende indstillinger være uændrede, og vælg Næste.
- Vælg Opret klynge.
Opret en notesbog i EMR Studio
Vi guider dig nu gennem, hvordan du opretter en notesbog i EMR Studio fra konsollen.
- På IAM-konsollen, oprette en EMR Studio-servicerolle.
- Vælg på Amazon EMR-konsollen EMR Studio.
- Vælg Kom i gang.
Kom i gang siden vises i en ny fane.
- Vælg Opret Studio i den nye fane.
- Indtast et navn. Vi bruger isbjerg-studie.
- Vælg samme VPC og undernet som dem for EMR-klyngen og standardsikkerhedsgruppen.
- Vælg AWS Identity and Access Management (IAM) til godkendelse, og vælg den EMR Studio-tjenesterolle, du lige har oprettet.
- Vælg en S3-sti til Sikkerhedskopiering af arbejdsområder.
- Vælg Opret Studio.
- Når studiet er oprettet, skal du vælge studieadgangs-URL'en.
- Vælg på EMR Studio-dashboardet Skab arbejdsrum.
- Indtast et navn til dit arbejdsområde. Vi bruger
iceberg-workspace
. - Udvid Avanceret konfiguration Og vælg Tilslut Workspace til en EMR-klynge.
- Vælg den EMR-klynge, du oprettede tidligere.
- Vælg Opret arbejdsområde.
- Vælg navnet på arbejdsområdet for at åbne en ny fane.
I navigationsruden er der en notesbog, der har samme navn som arbejdsområdet. I vores tilfælde er det isbjerg-arbejdsplads.
- Åbn notesbogen.
- Når du bliver bedt om at vælge en kerne, skal du vælge Spark.
Konfigurer en Spark-session til Apache Iceberg
Brug følgende kode, og angiv dit eget S3-spandnavn:
Dette indstiller følgende Spark-sessionskonfigurationer:
- spark.sql.catalog.demo – Registrerer et Spark-katalog ved navn demo, som bruger Iceberg Spark-katalogplugin.
- spark.sql.catalog.demo.catalog-impl – Demo Spark-kataloget bruger AWS Glue som det fysiske katalog til at gemme Iceberg-database- og tabeloplysninger.
- spark.sql.catalog.demo.warehouse – Demo Spark-kataloget gemmer alle Iceberg-metadata og datafiler under rodstien defineret af denne egenskab:
s3://iceberg-curated-blog-data
. - spark.sql.extensions – Tilføjer support til Iceberg Spark SQL-udvidelser, som giver dig mulighed for at køre Iceberg Spark-procedurer og nogle SQL-kommandoer kun for Iceberg (du bruger dette i et senere trin).
- spark.sql.catalog.demo.io-impl – Iceberg giver brugerne mulighed for at skrive data til Amazon S3 gennem S3FileIO. AWS Glue Data Catalog bruger som standard denne FileIO, og andre kataloger kan indlæse denne FileIO ved hjælp af io-impl katalogegenskaben.
Konverter data til Iceberg tabelformat
Du kan bruge enten Spark på Amazon EMR eller Athena til at indlæse Iceberg-bordet. I EMR Studio Workspace notebook Spark-sessionen skal du køre følgende kommandoer for at indlæse dataene:
Når du har kørt koden, bør du finde to præfikser oprettet i dit datavarehus S3-sti (s3://iceberg-curated-blog-data/reviews.db/all_reviews
): data og metadata.
Behandle inkrementelle data ved hjælp af indsæt, opdater og slet SQL-sætninger i Athena
Athena er en serverløs forespørgselsmotor, som du kan bruge til at udføre læse-, skrive-, opdaterings- og optimeringsopgaver mod Iceberg-tabeller. For at demonstrere, hvordan Apache Iceberg-datasøformatet understøtter trinvis dataindtagelse, kører vi indsæt, opdaterer og sletter SQL-sætninger på datasøen.
Naviger til Athena-konsollen og vælg Forespørgselsredaktør. Hvis det er første gang, du bruger Athena-forespørgselseditoren, skal du konfigurere forespørgselsresultatplaceringen at være den S3-spand, du oprettede tidligere. Du burde kunne se, at tabellen reviews.all_reviews er tilgængelig for forespørgsler. Kør følgende forespørgsel for at bekræfte, at du har indlæst Iceberg-tabellen korrekt:
Behandl trinvise data ved at køre indsæt, opdater og slet SQL-sætninger:
Ydeevnejustering
I dette afsnit gennemgår vi forskellige måder at forbedre Apache Iceberg læse- og skriveydeevne på.
Konfigurer Apache Iceberg-tabelegenskaber
Apache Iceberg er et tabelformat, og det understøtter tabelegenskaber til at konfigurere tabeladfærd som f.eks. læse, skrive og katalogisere. Du kan forbedre læse- og skriveydelsen på Iceberg-tabeller ved at justere tabelegenskaberne.
For eksempel, hvis du bemærker, at du skriver for mange små filer til en Iceberg-tabel, kan du konfigurere skrivefilstørrelsen til at skrive færre, men større filer, for at hjælpe med at forbedre forespørgselsydeevnen.
Ejendom | Standard | Beskrivelse |
write.target-file-size-bytes | 536870912 (512 MB) | Styrer størrelsen af filer, der genereres for at målrette omkring så mange bytes |
Brug følgende kode til at ændre tabelformatet:
Opdeling og sortering
For at få en forespørgsel til at køre hurtigt, jo mindre data læses, jo bedre. Iceberg udnytter de rige metadata, det fanger på skrivetidspunktet og letter teknikker som scanningsplanlægning, partitionering, beskæring og statistik på kolonneniveau såsom min/max-værdier for at springe datafiler over, der ikke har match-records. Vi guider dig gennem, hvordan planlægning og partitionering af forespørgselsscanninger fungerer i Iceberg, og hvordan vi bruger dem til at forbedre forespørgselsydeevnen.
Planlægning af forespørgselsscanning
For en given forespørgsel er det første trin i en forespørgselsmotor scanningsplanlægning, som er processen til at finde filerne i en tabel, der er nødvendig for en forespørgsel. Planlægning i en Iceberg-tabel er meget effektiv, fordi Icebergs rige metadata kan bruges til at beskære metadatafiler, der ikke er nødvendige, ud over at filtrere datafiler, der ikke indeholder matchende data. I vores test observerede vi, at Athena scannede 50 % eller mindre data for en given forespørgsel på en Iceberg-tabel sammenlignet med originale data før konvertering til Iceberg-format.
Der er to typer filtrering:
- Metadatafiltrering – Iceberg bruger to niveauer af metadata til at spore filerne i et øjebliksbillede: manifestlisten og manifestfilerne. Den bruger først manifestlisten, der fungerer som et indeks over manifestfilerne. Under planlægningen filtrerer Iceberg manifester ved hjælp af partitionsværdiområdet i manifestlisten uden at læse alle manifestfilerne. Derefter bruger den udvalgte manifestfiler til at hente datafiler.
- Datafiltrering – Efter at have valgt listen over manifestfiler, bruger Iceberg partitionsdata og statistikker på kolonneniveau for hver datafil, der er gemt i manifestfiler, til at filtrere datafiler. Under planlægningen konverteres forespørgselsprædikater til prædikater på partitionsdataene og anvendes først til at filtrere datafiler. Derefter bruges kolonnestatistikken som værdioptællinger på kolonneniveau, nultællinger, nedre grænser og øvre grænser til at bortfiltrere datafiler, der ikke kan matche forespørgselsprædikatet. Ved at bruge øvre og nedre grænser til at filtrere datafiler på planlægningstidspunktet, forbedrer Iceberg i høj grad forespørgselsydeevnen.
Opdeling og sortering
Partitionering er en måde at gruppere poster med de samme nøglekolonneværdier på skrift. Fordelen ved partitionering er hurtigere forespørgsler, der kun får adgang til en del af dataene, som forklaret tidligere i planlægning af forespørgselsscanning: datafiltrering. Iceberg gør partitionering enkel ved at understøtte skjult partitionering på den måde, som Iceberg producerer partitionsværdier ved at tage en kolonneværdi og eventuelt transformere den.
I vores brugstilfælde kører vi først følgende forespørgsel på Iceberg-tabellen, der ikke er partitioneret. Derefter opdeler vi Iceberg-tabellen efter kategorien af anmeldelser, som vil blive brugt i forespørgslen WHERE-tilstand for at filtrere poster fra. Med partitionering kunne forespørgslen scanne meget mindre data. Se følgende kode:
Kør følgende select-sætning på den ikke-opdelte all_reviews-tabel vs. den partitionerede tabel for at se ydeevneforskellen:
Følgende tabel viser ydeevneforbedringen af datapartitionering med omkring 50 % forbedring af ydeevnen og 70 % færre scannede data.
Datasætnavn | Ikke-partitioneret datasæt | Partitioneret datasæt |
Kørselstid (sekunder) | 8.20 | 4.25 |
Data scannet (MB) | 131.55 | 33.79 |
Bemærk, at kørselstiden er den gennemsnitlige kørselstid med flere kørsler i vores test.
Vi så god ydeevneforbedring efter partitionering. Dette kan dog forbedres yderligere ved at bruge statistik på kolonneniveau fra Iceberg-manifestfiler. For at bruge statistikken på kolonneniveau effektivt, ønsker du at sortere dine poster yderligere baseret på forespørgselsmønstrene. Sortering af hele datasættet ved hjælp af de kolonner, der ofte bruges i forespørgsler, vil omorganisere dataene på en sådan måde, at hver datafil ender med et unikt værdiområde for de specifikke kolonner. Hvis disse kolonner bruges i forespørgselstilstanden, giver det forespørgselsmotorer mulighed for yderligere at springe datafiler over, hvilket muliggør endnu hurtigere forespørgsler.
Kopier-på-skriv vs. læs-ved-fletning
Når du implementerer opdatering og sletning på Iceberg-tabeller i datasøen, er der to tilgange defineret af Iceberg-tabelegenskaberne:
- Kopier-on-write – Med denne tilgang, når der er ændringer i Iceberg-tabellen, enten opdateringer eller sletninger, vil datafilerne, der er knyttet til de berørte poster, blive duplikeret og opdateret. Optegnelserne vil enten blive opdateret eller slettet fra de duplikerede datafiler. Et nyt snapshot af Iceberg-tabellen vil blive oprettet og peger på den nyere version af datafiler. Dette gør den samlede skrivning langsommere. Der kan være situationer, hvor der er behov for samtidige skrivninger med konflikter, så genforsøg skal ske, hvilket øger skrivetiden endnu mere. På den anden side, når du læser dataene, er der ingen ekstra proces nødvendig. Forespørgslen vil hente data fra den seneste version af datafiler.
- Merge-on-read – Med denne tilgang, når der er opdateringer eller sletninger på Iceberg-tabellen, vil de eksisterende datafiler ikke blive omskrevet; i stedet oprettes nye slettefiler for at spore ændringerne. For sletninger oprettes en ny slettefil med de slettede poster. Når du læser Iceberg-tabellen, vil slettefilen blive anvendt på de hentede data for at bortfiltrere sletteposterne. For opdateringer oprettes en ny slettefil for at markere de opdaterede poster som slettede. Derefter oprettes en ny fil for disse poster, men med opdaterede værdier. Når du læser Iceberg-tabellen, vil både slette- og nye filer blive anvendt på de hentede data for at afspejle de seneste ændringer og give de korrekte resultater. Så for eventuelle efterfølgende forespørgsler vil der ske et ekstra trin for at flette datafilerne med slette- og nye filer, hvilket normalt vil øge forespørgselstiden. På den anden side kan skrivningerne være hurtigere, fordi der ikke er behov for at omskrive de eksisterende datafiler.
For at teste virkningen af de to tilgange kan du køre følgende kode for at indstille Iceberg-tabelegenskaberne:
Kør opdateringen, slet og vælg SQL-sætninger i Athena for at vise kørselstidsforskellen for copy-on-write vs. Merge-on-read:
Følgende tabel opsummerer forespørgselskørselstiderne.
Query | Kopier-på-skriv | Merge-on-Read | ||||
OPDATER | SLET | SELECT | OPDATER | SLET | SELECT | |
Kørselstid (sekunder) | 66.251 | 116.174 | 97.75 | 10.788 | 54.941 | 113.44 |
Data scannet (MB) | 494.06 | 3.07 | 137.16 | 494.06 | 3.07 | 137.16 |
Bemærk, at kørselstiden er den gennemsnitlige kørselstid med flere kørsler i vores test.
Som vores testresultater viser, er der altid afvejninger i de to tilgange. Hvilken tilgang du skal bruge afhænger af dine use cases. Sammenfattende kommer overvejelserne ned til latens på læsning vs. skrivning. Du kan henvise til følgende tabel og træffe det rigtige valg.
. | Kopier-på-skriv | Merge-on-Read |
FORDELE | Hurtigere læsninger | Hurtigere skriver |
ULEMPER | Dyrt skriver | Højere latenstid ved læsninger |
Hvornår skal du bruge det? | God til hyppige læsninger, sjældne opdateringer og sletninger eller store batchopdateringer | God til tabeller med hyppige opdateringer og sletninger |
Datakomprimering
Hvis din datafilstørrelse er lille, kan du ende med tusinder eller millioner af filer i en Iceberg-tabel. Dette øger I/O-driften dramatisk og sænker forespørgslerne. Ydermere sporer Iceberg hver datafil i et datasæt. Flere datafiler fører til flere metadata. Dette øger igen overhead- og I/O-operationen ved læsning af metadatafiler. For at forbedre forespørgselsydeevnen anbefales det at komprimere små datafiler til større datafiler.
Ved opdatering og sletning af poster i Iceberg-tabellen, hvis read-on-merge-tilgangen bruges, kan du ende med mange små sletninger eller nye datafiler. Kørsel af komprimering vil kombinere alle disse filer og skabe en nyere version af datafilen. Dette eliminerer behovet for at afstemme dem under læsninger. Det anbefales at have regelmæssige komprimeringsopgaver for at påvirke læsninger så lidt som muligt, mens du stadig opretholder en hurtigere skrivehastighed.
Kør følgende datakomprimeringskommando, og kør derefter select-forespørgslen fra Athena:
Følgende tabel sammenligner kørselstiden før og efter datakomprimering. Du kan se omkring 40 % præstationsforbedring.
Query | Før datakomprimering | Efter datakomprimering |
Kørselstid (sekunder) | 97.75 | 32.676 sekunder |
Data scannet (MB) | 137.16 M | 189.19 M |
Bemærk, at de udvalgte forespørgsler kørte på all_reviews
tabel efter opdatering og sletning, før og efter datakomprimering. Køretiden er den gennemsnitlige køretid med flere kørsler i vores test.
Ryd op
Når du har fulgt løsningsgennemgangen for at udføre use cases, skal du udføre følgende trin for at rydde op i dine ressourcer og undgå yderligere omkostninger:
- Slip AWS Glue-tabellerne og databasen fra Athena eller kør følgende kode i din notesbog:
- På EMR Studio-konsollen skal du vælge arbejdsområder i navigationsruden.
- Vælg det arbejdsområde, du har oprettet, og vælg Slette.
- På EMR-konsollen skal du navigere til Studios .
- Vælg det studie, du har oprettet, og vælg Slette.
- Vælg på EMR-konsollen Klynger i navigationsruden.
- Vælg klyngen og vælg Opsige.
- Slet S3-bøtten og eventuelle andre ressourcer, som du har oprettet som en del af forudsætningerne for dette indlæg.
Konklusion
I dette indlæg introducerede vi Apache Iceberg-rammen, og hvordan det hjælper med at løse nogle af de udfordringer, vi har i en moderne datasø. Så ledte vi dig igennem en løsning til at behandle inkrementelle data i en datasø ved hjælp af Apache Iceberg. Endelig havde vi et dybt dyk i justering af ydeevne for at forbedre læse- og skriveydeevnen til vores use cases.
Vi håber, at dette indlæg giver nogle nyttige oplysninger, så du kan beslutte, om du vil bruge Apache Iceberg i din datasø-løsning.
Om forfatterne
Flora Wu er Sr. Resident Architect ved AWS Data Lab. Hun hjælper virksomhedskunder med at skabe dataanalysestrategier og bygge løsninger til at accelerere deres virksomhedsresultater. I sin fritid nyder hun at spille tennis, danse salsa og rejse.
Daniel Li er Sr. Solutions Architect hos Amazon Web Services. Han fokuserer på at hjælpe kunder med at udvikle, adoptere og implementere cloud-tjenester og strategi. Når han ikke arbejder, kan han godt lide at tilbringe tid udendørs med sin familie.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang her.
- Kilde: https://aws.amazon.com/blogs/big-data/use-apache-iceberg-in-a-data-lake-to-support-incremental-data-processing/
- 10
- 100
- 11
- 2022
- 2023
- 7
- 9
- a
- I stand
- Om
- over
- fremskynde
- adgang
- adgangsstyring
- Handling
- handlinger
- Desuden
- Yderligere
- adresse
- adresser
- Tilføjer
- vedtage
- Fordel
- Efter
- mod
- Alle
- tillader
- altid
- Amazon
- Amazon EMR
- Amazon Web Services
- Analytisk
- analytics
- ,
- annoncerede
- Apache
- applikationer
- anvendt
- tilgang
- tilgange
- passende
- arkitektur
- forbundet
- Godkendelse
- tilgængelighed
- til rådighed
- gennemsnit
- undgå
- AWS
- AWS Lim
- baseret
- fordi
- bliver
- før
- gavner det dig
- Bedre
- mellem
- større
- Bootstrap
- bygge
- Bygning
- virksomheder
- fanger
- Optagelse
- tilfælde
- tilfælde
- katalog
- kataloger
- Boligtype
- udfordringer
- lave om
- Ændringer
- kontrollere
- valg
- Vælg
- klassificering
- Cloud
- cloud-tjenester
- Cluster
- kode
- Kolonne
- Kolonner
- kombinerer
- Kom
- begå
- sammenlignet
- fuldføre
- Compute
- konkurrent
- betingelse
- konfigurationer
- overvejelser
- Konsol
- Konvertering
- konverteret
- omkostningseffektiv
- Omkostninger
- kunne
- skabe
- oprettet
- skaber
- kurateret
- Nuværende
- kunde
- Kunder
- Dancing
- instrumentbræt
- data
- Dataanalyse
- Data Lake
- databehandling
- datalager
- Database
- datasæt
- dyb
- dyb dykke
- Standard
- definerede
- Demo
- demonstrere
- afhænger
- konstrueret
- detaljer
- udvikle
- Udvikling
- forskel
- forskellige
- diskutere
- Dont
- ned
- dramatisk
- Drop
- i løbet af
- hver
- tidligere
- Tidligt
- editor
- effektivt
- effektiv
- enten
- eliminerer
- aktiveret
- muliggør
- ender
- Engine (Motor)
- Motorer
- Indtast
- Enterprise
- virksomhedskunder
- Ether (ETH)
- Endog
- evolution
- udvikle sig
- udviklende
- eksempel
- eksisterende
- eksisterer
- forklarede
- udvidelser
- ekstra
- letter
- familie
- FAST
- hurtigere
- Funktionalitet
- Figur
- File (Felt)
- Filer
- filtrere
- filtrering
- Filtre
- Endelig
- Finde
- Fornavn
- første gang
- fokuserer
- følger
- efter
- format
- Framework
- hyppig
- fra
- yderligere
- Endvidere
- Generelt
- genereret
- få
- given
- Goes
- godt
- stærkt
- gruppe
- hånd
- ske
- hjælpe
- hjælpe
- hjælper
- Skjult
- hierarki
- højt niveau
- Høj ydeevne
- højtydende
- Hive
- håber
- Hvordan
- How To
- Men
- HTML
- HTTPS
- IAM
- Identity
- identitets- og adgangsstyring
- KIMOs Succeshistorier
- påvirket
- gennemføre
- implementering
- gennemføre
- Forbedre
- forbedret
- forbedrer
- in
- Herunder
- Forøg
- øget
- Stigninger
- indeks
- individuel
- oplysninger
- installere
- i stedet
- integration
- introduceret
- isolater
- IT
- januar
- Karriere
- Nøgle
- lab
- sø
- stor
- større
- Latency
- seneste
- seneste udgivelse
- lag
- lag
- føre
- niveauer
- GRÆNSE
- Line (linje)
- Liste
- lidt
- belastning
- placering
- lave
- maerker
- ledelse
- mange
- markere
- markedsplads
- Match
- matchende
- Flet
- Metadata
- måske
- millioner
- Moderne
- mere
- bevæge sig
- flere
- navn
- Som hedder
- Naviger
- Navigation
- Behov
- behov
- behov
- Ny
- notesbog
- objekt
- åbent
- drift
- Produktion
- optimering
- Optimer
- ordrer
- original
- Andet
- udendørs
- samlet
- egen
- brød
- del
- sti
- mønstre
- udføre
- ydeevne
- fysisk
- planlægning
- plato
- Platon Data Intelligence
- PlatoData
- spiller
- plugin
- punkter
- Populær
- mulig
- Indlæg
- strøm
- forudsætninger
- procedurer
- behandle
- forarbejdning
- producere
- egenskaber
- ejendom
- give
- giver
- leverer
- bestemmelse
- rækkevidde
- Raw
- rådata
- Læs
- Læsning
- ægte
- for nylig
- anbefales
- optegnelser
- afspejler
- region
- registre
- fast
- frigive
- frigivet
- resterende
- påkrævet
- Kræver
- Ressourcer
- resultere
- Resultater
- Anmeldelser
- Rich
- roller
- rod
- Kør
- kører
- samme
- scanne
- sekunder
- Sektion
- sikkerhed
- valgt
- udvælgelse
- Serverless
- tjeneste
- Tjenester
- Session
- sæt
- sæt
- indstilling
- indstillinger
- bør
- Vis
- Shows
- Simpelt
- situationer
- Størrelse
- bremser
- lille
- Snapshot
- So
- Software
- løsninger
- Løsninger
- nogle
- Spark
- specifikke
- hastighed
- udgifterne
- SQL
- Starter
- Tilstand
- Statement
- udsagn
- statistik
- Trin
- Steps
- Stadig
- opbevaring
- butik
- opbevaret
- forhandler
- strategier
- Strategi
- struktureret
- strukturerede og ustrukturerede data
- Studio
- subnet
- efterfølgende
- Succesfuld
- sådan
- tilstrækkeligt
- RESUMÉ
- support
- Understøttet
- Støtte
- Understøtter
- bord
- tager
- tager
- mål
- opgaver
- teknikker
- tennis
- prøve
- Test
- tests
- oplysninger
- Staten
- deres
- derved
- tusinder
- tre
- Gennem
- tid
- tidsrejser
- til
- sammen
- også
- værktøjer
- top
- I alt
- spor
- Transaktioner
- omdanne
- rejse
- Traveling
- TUR
- typer
- under
- enestående
- Opdatering
- opdateret
- opdateringer
- opdatering
- URL
- brug
- brug tilfælde
- brugere
- sædvanligvis
- VAL
- værdi
- Værdier
- verificere
- udgave
- gik
- går igennem
- Warehouse
- ure
- måder
- web
- webservices
- Hvad
- hvorvidt
- som
- mens
- bred
- Bred rækkevidde
- vilje
- uden
- Arbejde
- arbejder
- virker
- ville
- skriver
- skrivning
- Din
- zephyrnet