Huis Persoonlijke financiën Aansluiten bij Tables with Hive - dummies

Aansluiten bij Tables with Hive - dummies

Video: Vaillant vsmart thermostat review 2024

Video: Vaillant vsmart thermostat review 2024
Anonim

Je weet waarschijnlijk al dat experts in relationele databasemodellering en -ontwerp meestal veel tijd besteden aan het ontwerpen van genormaliseerde databases of -schema's <. Database normalisatie is een techniek die beschermt tegen gegevensverlies, redundantie en andere anomalieën wanneer gegevens worden bijgewerkt en opgehaald. De experts volgen een aantal regels om te komen tot een genormaliseerde database, maar regel 1 is dat u moet eindigen met een

groep tabellen. (Eén grote tafel die al uw gegevens opslaat is niet normaal - woordspeling bedoeld.) Er zijn uitzonderingen, afhankelijk van de use case, maar de wet van veel tabellen wordt meestal nauwlettend gevolgd, vooral voor databases die transacties ondersteunen of analytische verwerking (business intelligence, bijvoorbeeld).

Wanneer u begint met het opvragen en analyseren van uw gegevens, worden tabellen samengevoegd op basis van de gedefinieerde relaties tussen hen met behulp van SQL - wat betekent dat de schijven uiteindelijk bezig zijn op uw server wanneer u begint aan de tafels deel te nemen, en bezet-disks resulteren meestal in langzamere responstijden van de gebruiker. Het goede nieuws is echter dat RDBMS's en EDW's zijn afgestemd om joins zo snel mogelijk te maken.

Wat heeft dit allemaal te maken met joins in Hive? Welnu, onthoud dat het onderliggende besturingssysteem voor Hive (verrassing!) Apache Hadoop is: MapReduce is de engine voor toetreding tot tabellen en het Hadoop-bestandssysteem (HDFS) is de onderliggende opslag. Het is allemaal goed nieuws voor de gebruiker die grote tabellen met Hive wil maken, beheren en analyseren.

Het potentieel om informatie te ontsluiten die verborgen is in enorme datastructuren is spannend. Echter, joins met Hive presteren meestal niet zo goed als in de RDBMS / EDW-wereld, dus gebruikers die voor het eerst worden verrast, zijn vaak verrast door de "pokiness" van de systeemreactie.

Houd er rekening mee dat MapReduce en HDFS zijn geoptimaliseerd voor doorvoer met big data-analyse en dat in deze wereld

latenties - reactietijden van gebruikers, met andere woorden - meestal hoog zijn. Hive is ontworpen voor analytische verwerking in batchstijl, niet voor snelle online transactieverwerking. Gebruikers die de best mogelijke prestaties willen met SQL op Apache Hadoop hebben oplossingen beschikbaar.

Houd deze dynamiek in gedachten wanneer u begint te werken aan tabellen met Hive. Merk ook op dat Hive-architecten hun databases meestal tot op zekere hoogte denormaliseren, dus het hebben van minder grotere tabellen is gebruikelijk. Dat is de reden waarom complexe gegevenstypen zoals STRUCTs en ARRAY's worden aangeboden. U kunt deze complexe gegevenstypen gebruiken om veel meer gegevens in één tabel in te pakken.

Omdat de Hive-tabel leest en schrijft via HDFS meestal zeer grote datablokken omvat, des te meer gegevens u volledig in één tabel kunt beheren, hoe beter de algehele prestaties.

Schijf- en netwerktoegang is een stuk langzamer dan geheugentoegang, dus minimaliseer HDFS zo veel mogelijk lezen en schrijven.

Met deze achtergrondinformatie in gedachten kunt u het maken van joins met Hive aan. Gelukkig was de Hive-ontwikkelingsgemeenschap realistisch en begreep hij dat gebruikers tabellen met HiveQL willen en moeten gebruiken. Deze kennis wordt vooral belangrijk met EDW-augmentatie. Use cases zoals "queryable" -archieven vereisen vaak joins voor data-analyse.

Hier is een voorbeeld van een Hive-join met behulp van vluchtgegevenstabellen. De lijst toont u hoe u een myflightinfo2007-tabel en een myflightinfo2008-tabel kunt maken en weergeven vanuit de grotere FlightInfo2007- en FlightInfo2008-tabellen. Het plan was altijd om de tabellen CTAS myflightinfo2007 en myflightinfo2008 te gebruiken om te illustreren hoe je joins in Hive kunt uitvoeren.

De afbeelding toont het resultaat van een inner join met de tabellen myflightinfo2007 en myflightinfo2008 met behulp van de SQuirreL SQL-client.

Hive ondersteunt

equi-joins, een specifiek type join dat alleen gelijkheidsvergelijkingen gebruikt in het join-predikaat. (ON m8. FlightNum = m7. FlightNum is een voorbeeld van een equi-join.) Andere comparators zoals Less than (<) worden niet ondersteund. Deze beperking is alleen vanwege beperkingen van de onderliggende MapReduce-engine. U kunt OR ook niet gebruiken in de AAN-clausule. De afbeelding illustreert het eerdere voorbeeld van de inner join en twee andere Hive join-typen. Merk op dat u de resultaten van een inner join kunt bevestigen door de inhoud van de tabellen myflight2007 en myflight2008 te bekijken.

De volgende afbeelding illustreert hoe een inner join werkt met een Venn-diagram, voor het geval u niet bekend bent met de techniek. Het basisidee hier is dat een inner join de records retourneert die overeenkomen tussen twee tabellen. Dus een inner join is een perfecte analysetool om te bepalen welke vluchten hetzelfde zijn van JFK (New York) naar ORD (Chicago) in juli 2007 en juli 2008.

Het optimaliseren van Hive-joins is een hot topic in de Hive-community. Zie de pagina Join Optimization op de Hive-wiki voor meer informatie over de huidige optimalisatietechnieken.

Aansluiten bij Tables with Hive - dummies

Bewerkers keuze

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Wanneer het komt om het voordeel dat u van LinkedIn krijgt te maximaliseren, bent u uw grootste pleitbezorger. Hoewel je netwerk van connecties je helpt te groeien, gebeurt veel van je marketing zonder dat je erbij betrokken bent. Nadat je je profiel hebt aangemaakt, worden die en andere LinkedIn-activiteit van je gelezen en beoordeeld door de ...

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Deze dagen, wanneer u naar een nieuwe stad moet verhuizen, kunt u er veel plannen voor maken op LinkedIn en op internet. Je kunt de buurten onderzoeken, de schoolsystemen bekijken en online naar huizen gaan. Je kunt een stap verder gaan als je van plan bent om naar een andere ...

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

U zeker wilt dat u de juiste instellingen selecteert contactinstellingen voor uw LinkedIn-profiel. Als u bijvoorbeeld op zoek bent naar een nieuwe baan, wilt u er zeker van zijn dat de optie voor Carrièremogelijkheden is gecontroleerd. Wanneer u klaar bent om uw contactinstellingen te controleren, volgt u deze stappen: Ga naar ...

Bewerkers keuze

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Uw Canon EOS Rebel XS / 1000D heeft alle functies die u kunt gebruiken om fantastische foto's te maken. Je moet de beeldmodus instellen op het onderwerp van je foto en de Canon EOS Rebel XS / 1000D laat je volledig of gedeeltelijk automatisch gaan met de belichtingsinstellingen.

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Live-modus Met autofocus kunt u de focus instellen op uw Canon EOS Rebel T3 of T3i zonder tijdelijk het voorbeeld van de monitor te verliezen. Bovendien, in plaats van het selecteren van negen autofocuspunten, verplaatst u eenvoudig een enkel scherpstelpunt over uw onderwerp. Aan de andere kant is de autofocus van de Live-modus merkbaar langzamer dan in de Quick-modus, en ...

Bewerkers keuze

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Tekstgrootte wordt ingesteld in uw Word 2016 document gebaseerd over de meting van de oude letterzetter, ook wel punten genoemd. Hier zijn enkele aandachtspunten waarmee u rekening moet houden bij het opmaken van tekst in Word: hoe groter de puntgrootte, hoe groter de tekst. De meeste gedrukte tekst is 10 of 12 punten lang. Koppen zijn meestal 14 ...

Grammatica controleren in Word 2007 - dummies

Grammatica controleren in Word 2007 - dummies

Naast het controleren op correcte spelling, kunt u met Word 2007 ook om uw documenten te bewijzen om grammaticale fouten te voorkomen. U kunt de grammaticasuggesties van Word bekijken terwijl u door het document bladert, of u kunt een traditionele spellingcontrole uitvoeren. Word biedt u zelfs de kans om de gemarkeerde fout te onderzoeken en meer te leren van ...

Spelling controleren terwijl u typt in Word 2013 - dummies

Spelling controleren terwijl u typt in Word 2013 - dummies

Woord 2013 heeft een interne bibliotheek vol met ontelbare woorden, allemaal correct gespeld. Telkens wanneer u een woord typt, wordt het vergeleken met dat woordenboek. Wanneer het woord niet wordt gevonden, wordt dit als verdacht gemarkeerd in uw document. Het merk is een rode zigzaglijn. Mijn advies: blijf typen. Laat de "rode zigzag van een ...