Video: Beeline Vs Hive CLI when using Ranger 2024
Den första Hive-klienten är Hive-kommandoradsgränssnittet (CLI). För att behärska de finare punkterna i Hive CLI-klienten kan det hjälpa till att granska den (lite upptagen) Hive-arkitekturen.
I den andra figuren är arkitekturen strömlinjeformad för att endast fokusera på de komponenter som krävs när CLI körs.
Dessa är komponenterna i Hive som behövs när du kör CLI på ett Hadoop-kluster. Här kör du Hive i lokalt läge, som använder lokal lagring, snarare än HDFS, för dina data.
För att köra Hive CLI, kör du kommandot Hive och ange CLI som den tjänst du vill köra. I följande lista kan du se kommandot som krävs liksom några av våra första HiveQL-uttalanden. (En stegannotation med A-B-C-modellen ingår i noteringen för att rikta uppmärksamheten på nyckelkommandon.)
(A) $ $ HIVE_HOME / bin hive - service cli (B) hive> set hive. cli. skriva ut. nuvarande. db = true; (C) Hive (standard)> CREATE DATABASE ourfirstdatabase; OK Tidsperiod: 3.756 sekunder (D) Hive (standard)> ANVÄND vår första databas; OK Tid tagit: 0. 039 sekunder (E) Hive (vår första databas)> CREATE TABLE our_first_table (> Förnamn STRING,> LastName STRING,> EmployeeId INT); OK Tidsupptagen: 0. 043 sekunder hive (vår första databasen)> avsluta; (F) $ ls / home / biadmin / Hive / warehouse / ourfirstdatabase. db our_first_table
Det första kommandot (se Steg A) startar Hive CLI med hjälp av miljömivellen $ HIVE_HOME. Alternativet Cli-kommandoraden i ledningen styr Hive-systemet för att starta kommandoradsgränssnittet, men du kunde ha valt andra servrar.
Sedan, i steg B, berättar du Hive CLI att skriva ut din nuvarande arbetsdatabas så att du vet var du befinner dig i namnrymden. (Detta uttalande kommer att vara vettigt när vi förklarar hur man använder nästa kommando, så håll fast.)
I steg C använder du HiveQLs datadefinitionsspråk (DDL) för att skapa din första databas. (Kom ihåg att databaser i Hive är helt enkelt namespaces där särskilda tabeller finns, eftersom en uppsättning tabeller kan betraktas som en databas eller ett schema, kan du ha använt termen SCHEMA istället för DATABASE för att uppnå samma resultat.).
Närmare bestämt använder du DDL för att berätta för systemet att skapa en databas som heter ourfirstdatabase och sedan för att göra denna databas till standard för efterföljande HiveQL DDL-kommandon med kommandot USE i steg D. I steg E skapar du din första bord och ge det (ganska lämpligt) namnet our_first_table.
(Till nu har du kanske trott att det ser ut som SQL, med kanske några mindre skillnader i syntax beroende på vilken RDBMS du är van vid - och du skulle ha varit rätt.) Det sista kommandot, i Steg F, utför en kataloglista över din valda katalogen Hive warehouse så att du kan se att our_first_table faktiskt har lagrats på disken.
Du ställer in bikupan. metastore. lager. dir-variabeln för att peka på den lokala katalogen / hem / biadmin / Hive / warehouse i din virtuella Linux-dator istället för att använda HDFS som du skulle ha på ett korrekt Hadoop-kluster.
När du har skapat ett bord är det intressant att se tabellens metadata. I produktionsmiljöer kan du ha dussintals tabeller eller mer, så det är till hjälp att kunna granska tabellstrukturen från tid till annan. Du c en använder ett HiveQL-kommando för att göra detta med hjälp av Hive CLI, men Hive Web Interface (HWI) -servern ger ett användbart gränssnitt för denna typ av operation.
Användning av HWI-servern i stället för CLI kan också vara säkrare. Noggrann övervägning måste göras när CLI används i produktionsmiljöer, eftersom den maskin som kör CLI måste ha tillgång till hela Hadoop-klustret.
Därför installerar systemadministratörer vanligtvis verktyg som det säkra skalet (ssh) för att ge kontrollerad och säker åtkomst till maskinen som kör CLI, samt att tillhandahålla nätverkskryptering. Men när HWI-servern är anställd, kan en användare endast få tillgång till Hive-data som tillåts av HWI-servern via sin webbläsare.