HBase Stvorite tablicu s Java Primjer API-ja i ljuske

⚡ Pametni sažetak

HBase pohranjuje podatke u tablice, a te tablice možete kreirati i njima upravljati na dva načina: putem Java API s HTableomDescriptili i HBaseAdmin, ili izravno u HBase ljusci pomoću naredbe create.

  • ☕ Java Apis: Izradite tablice u kodu pomoću HTableaDescriptili, HColumnDescriptili i HBaseAdmin.
  • 🐚 Izrada ljuske: Naredba create gradi tablicu od imena i jedne ili više obitelji stupaca.
  • 🧬 Obitelji stupaca: Svaka tablica treba barem jednu obitelj stupaca, definiranu prilikom kreiranja tablice.
  • 🔧 Promijeni tablice: Naredba alter dodaje obitelji stupaca, postavlja VERZIJE ili mijenja atribute opsega tablice.
  • 🗑️ Životni ciklus tablice: Onemogućite tablicu prije nego što je izmijenite ili uklonite, a zatim je ponovno omogućite da biste nastavili s pisanjem.
  • 🤖 Pomoć umjetne inteligencije: AI asistenti izrađuju naredbe za stvaranje, promjenu i uklanjanje te pregledavaju dizajn obitelji stupaca.

HBase kreira tablicu s Java Primjer API-ja i shell naredbe

Kako stvoriti tablicu u HBase s Java API

U HBaseu se tablice mogu kreirati na dva načina: putem Java API i putem HBase ljuske. Ovaj odjeljak pokriva Java API, koji aplikaciji omogućuje stvaranje tablica i programsko učitavanje podataka kao dio većeg posla.

Kroz Java API, možemo kreirati tablice u HBase-u i također učitati podatke u tablice pomoću Java kodiranje. Dvije stvari koje smo ovdje postavili su:

  • Uspostavljanje veze s HBase putem Java API-ja.
  • Korištenje Eclipse za Java kodiranje, otklanjanje pogrešaka i testiranje.

Slijede koraci za stvaranje tablica u HBase-u Java API-ja.

Korak 1) Stvorite a Java Projekt u Eclipse

U ovom koraku ćemo stvoriti a Java projekt u Eclipse za HBase vezu, pod nazivom „HbaseConnection“.

Novi Java Dijalog projekta u nastavku prikazuje postavljanje projekta "HbaseConnection":

Eclipse Novo Java Dijalog projekta koji stvara HbaseConnection projekt s JavaSE-1.7 okruženje

Ako pogledamo gornju snimku zaslona:

  • U ovaj okvir unesite naziv projekta. U našem slučaju, naziv projekta je „HbaseConnection“.
  • Označite ovaj okvir za spremanje zadane lokacije. Ovdje je put /home/hduser/work/HbaseConnection.
  • Označite okvir za Java okruženje ovdje. U ovom slučaju JavaSE-1.7 je Java izdanje.
  • Odaberite opciju gdje želite spremiti datoteku. U našem slučaju odabrali smo drugu opciju, "Stvori zasebnu mapu za izvore i datoteke razreda".
  • Kliknite gumb Završi, čime se stvara projekt „HbaseConnection“ u Eclipse i otvara Eclipse Početna stranica.

Korak 2) Konfigurirajte putanju izgradnje u Eclipse

Na Eclipse Na početnoj stranici slijedite ove korake za otvaranje konfiguracije puta izgradnje:

Right click on project -> Select Build Path -> Configure build path

Snimka zaslona u nastavku prikazuje izbornik desnim klikom koji se koristi za otvaranje konfiguracije putanje izgradnje:

Eclipse izbornik projekta koji se odabire desnim klikom miša, a zatim odabir Putanja izgradnje, a zatim Konfiguriraj Putanje izgradnje

Iz gornje snimke zaslona:

  • Desnim klikom miša odaberite projekt.
  • Odaberite Put izgradnje.
  • Odaberite Konfiguriraj putanju izgradnje.

Nakon klika na Konfiguriraj putanju izgradnje, otvara se još jedan prozor, prikazan na snimci zaslona u nastavku. Kartica Biblioteke je mjesto gdje se HBase i Hadoop JAR datoteke dodaju u projekt:

Eclipse Java Kartica Izgradnja biblioteka putanja dodaje vanjske HBase i Hadoop JAR datoteke

U ovom koraku dodajemo relevantne HBase JAR-ove u Java projekt kao što je prikazano na snimci zaslona.

  • Važne JAR datoteke koje treba dodati: hbase-0.94.8.jar i hadoop-core-1.1.2.jar.
  • Dođite na karticu Knjižnice.
  • Pritisnite opciju Dodaj vanjske JAR-ove.
  • Odaberite potrebne važne JAR-ove.
  • Pritisnite gumb Završi da biste dodali ove datoteke u "src" mape Java projekt u sklopu Knjižnica.

Nakon što su JAR-ovi dodani, pojavljuju se pod lokacijom projekta "src" kao što je prikazano u nastavku:

Eclipse preglednik projekata koji prikazuje dodane HBase i Hadoop JAR datoteke pod izvornim kodom projekta

Sve JAR datoteke koje spadaju u projekt sada su spremne za korištenje s Hadoop ekosustavom.

Korak 3) Uspostavite HBase vezu

U ovom koraku, korištenjem HBaseConnection.java, uspostavlja se HBase veza putem Java kodiranje.

Na Eclipse gornjem izborniku, izvršite Java program kao što je prikazano dolje: Pokreni -> Pokreni kao -> Java Aplikacija. Izbornik u nastavku prikazuje program koji se pokreće:

Eclipse Trčati kao Java Izbornik aplikacije koji pokreće program HBaseConnection

  • Odaberite Pokreni.
  • Odaberite Pokreni kao Java Primjena.
  • Ovaj kod uspostavlja vezu s HBaseom putem Java API-ja.
  • Nakon pokretanja ovog koda, tablica „guru99“ se kreira u HBaseu s dvije obitelji stupaca pod nazivom „education“ i „projects“. Trenutno se u HBaseu kreira samo prazna shema.

Isječak koda u nastavku ističe HTableDescriptili i pozive funkcije addFamily koji grade shemu tablice:

Java kod koji koristi HTableDescriptili i addFamily za definiranje tablice guru99 s obiteljima stupaca education i projects

Iz gornje snimke zaslona vidimo da izvršavamo sljedeće funkcije:

  • Korištenje HTableDescriptili možemo kreirati tablicu „guru99“ u HBaseu.
  • Pomoću metode addFamily dodajemo "education" i "projects" kao obitelji stupaca u tablicu "guru99".

Donji kod će uspostaviti vezu s HBaseom i stvoriti tablicu „guru99“ s dvije obitelji stupaca. Postavite ovaj kod ispod dokumenta HBaseConnection.java:

// Place this code inside Hbase connection
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
Import org.apache.hadoop.hbase.client.HBaseAdmin;

public class HBaseConnection
{
    public static void main(String[] args) throws IOException
    {
	HBaseConfigurationhc = new HBaseConfiguration(new Configuration());
	HTableDescriptorht = new HTableDescriptor("guru99");

	ht.addFamily( new HColumnDescriptor("education"));
	ht.addFamily( new HColumnDescriptor("projects"));
	System.out.println( "connecting" );
	HBaseAdminhba = new HBaseAdmin( hc );

	System.out.println( "Creating Table" );
	hba.createTable( ht );
	System.out.println("Done......");
    }
}

Ovo je potreban kod koji morate smjestiti u HBaseConnection.java prije nego što pokrenete Java Program.

Nakon pokretanja ovog programa, on uspostavlja vezu s HBaseom i zauzvrat stvara tablicu s nazivima stupaca.

  • Naziv tablice je „guru99“.
  • Obitelji stupaca su „obrazovanje“ i „projekti“.

Korak 4) Provjerite stvorenu tablicu u HBase-u

Možemo provjeriti je li tablica „guru99“ kreirana s dvije obitelji stupaca u HBaseu korištenjem HBase shell načina rada s naredbom „list“. Naredba „list“ daje informacije o svim tablicama kreiranim u HBaseu.

Pokretanje naredbe list u HBase ljusci potvrđuje novu tablicu, kao što je prikazano u nastavku:

Izlaz naredbe HBase shell list koji prikazuje da je tablica guru99 kreirana

  • Code provjera u HBase ljusci izvršavanjem naredbe "list".
  • Ako pokrenemo naredbu „list“, prikazuje se tablica kreirana u HBaseu. U našem slučaju možemo vidjeti da je kreirana tablica „guru99“.

HBase Stvaranje tablice s ljuskom

Osim Java API-jem možete kreirati tablicu izravno iz HBase ljuske, što je najbrži način za postavljanje tablice za brze testove. Sintaksa za kreiranje tablice u HBaseu pomoću ljuske je:

Syntax: create <tablename>, <columnfamilyname>

Primjer:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table – education

Gornji primjer objašnjava kako stvoriti tablicu u HBaseu s navedenim nazivom danim prema specifikacijama za svaku obitelj stupaca. Osim toga, u nju možemo proslijediti i neke atribute opsega tablice.

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}

Ovdje blok {NAME=>'Edu', VERSIONS=>…} postavlja obitelj stupaca pod nazivom „Edu“ i broj verzija ćelija koje se čuvaju. Veliki broj je samo ilustrativan; u praksi, VERSIONS je mala vrijednost poput 3 ili 5.

Popis, opis i provjera HBase tablica

Stvaranje tablice samo je prvi dio rukovanja tablicama u HBaseu. Nakon što tablica "guru99" postoji, nekoliko općih naredbi omogućuje vam da je pregledate i potvrdite njezino stanje prije nego što čitate, pišete ili mijenjate podatke. Sve ih možete pokrenuti iz HBase ljuska.

Naredba list vraća svaku korisničku tablicu u HBaseu:

hbase> list

Naredba describe prikazuje strukturu tablice, uključujući njezine obitelji stupaca i je li trenutno omogućena:

hbase> describe 'guru99'

Naredba exists provjerava je li tablica prisutna, a is_enabled izvještava može li tablica prihvatiti upisivanje:

hbase> exists 'guru99'
hbase> is_enabled 'guru99'

Ove provjere samo za čitanje mogu se sigurno pokrenuti u bilo kojem trenutku. One su najbrži način da se potvrdi da je tablica ispravno kreirana i da se pregledaju njezine obitelji stupaca prije učitavanja podataka.

Promjena HBase tablice

Shema HBase tablice nije fiksna nakon stvaranja. Naredba alter mijenja obitelji stupaca tablice i atribute opsega tablice bez ponovnog stvaranja. Ovisno o verziji HBasea, možda ćete prvo morati onemogućiti tablicu, a zatim pokrenuti naredbu alter i ponovno je omogućiti.

Za dodavanje nove obitelji stupaca u tablicu „guru99”:

hbase> alter 'guru99', {NAME => 'contact'}

Za postavljanje koliko verzija obitelj stupaca čuva:

hbase> alter 'guru99', NAME => 'education', VERSIONS => 5

Za brisanje obitelji stupaca iz tablice:

hbase> alter 'guru99', {NAME => 'contact', METHOD => 'delete'}

Također možete promijeniti atribute opsega tablice. Na primjer, označite tablicu samo za čitanje ili postavite maksimalnu veličinu datoteke regije na 128 MB:

hbase> alter 'guru99', READONLY
hbase> alter 'guru99', MAX_FILESIZE => '134217728'

Budući da naredba alter prepisuje shemu, pažljivo planirajte promjene na produkcijskoj tablici i naknadno potvrdite rezultat naredbom describe.

Onemogući, omogući i ukloni HBase tablice

Za uklanjanje tablice ili primjenu određenih promjena, HBase zahtijeva da je prvo onemogućite. Onemogućavanjem se tablica postavlja izvan mreže tako da nijedan klijent ne može čitati ili pisati u nju, što strukturne promjene čini sigurnima.

Onemogućite tablicu i provjerite njezino stanje pomoću is_disabled:

hbase> disable 'guru99'
hbase> is_disabled 'guru99'

Ponovno omogućite tablicu za nastavak čitanja i pisanja:

hbase> enable 'guru99'

Tablica mora biti onemogućena prije nego što se može ukloniti. Ispustiping trajno briše tablicu i sve njezine podatke, stoga je koristite s oprezom:

hbase> disable 'guru99'
hbase> drop 'guru99'

Za uklanjanje nekoliko tablica odjednom, drop_all briše svaku tablicu čije se ime podudara s regularnim izrazom. Zajedno, kreiranje, mijenjanje, onemogućavanje, omogućavanje i brisanje pokrivaju cijeli životni ciklus rukovanje podacima u HBase tablicama.

Pitanja i odgovori

Najbolja praksa je održavati broj obitelji stupaca niskim, idealno jednu do tri. HBase objedinjuje i sažima sve obitelji regije zajedno, tako da dodatne obitelji raspoređuju podatke na više datoteka i usporavaju čitanje i pisanje. Grupirajte povezane stupce u jednu obitelj kad god je to moguće.

Ne. Prilikom izrade definirate samo obitelji stupaca. Kvalifikatori stupaca su dinamični i mogu se dodati u bilo koji redak prilikom pisanja podataka. Ovaj dizajn fleksibilan u pogledu sheme omogućuje da svaki redak sadrži različite stupce bez prethodne izmjene tablice.

Koristite skraćivanje 'guru99', što onemogućuje tablicu, briše je i ponovno je stvara s istim obiteljima stupaca. Shema ostaje netaknuta dok se svaki redak uklanja. To je brže i čišće od brisanja redaka jednog po jednog.

Primjer koristi HBaseAdmin i HTableDescriptili, oboje zastarjelo od HBase 1.0. Moderni kod dobiva Admin objekt iz Connectiona putem ConnectionFactoryja i gradi shemu s TableomDescriptorBuilder i ColumnFamilyDescriptorBuilder. Logika stvaranja tablice ostaje ista.

VERZIJE postavlja koliko vremenski označenih verzija svake ćelije obitelj stupaca čuva. Zadana vrijednost je 1. Zahtjev za starije verzije pomoću naredbi get ili scan vraća ih dok se ne premaši zadržani broj, nakon čega sažimanje uklanja najstarije ćelije.

HBase odgovara vrlo velikim, rijetkim skupovima podataka kojima je potrebno brzo nasumično čitanje i pisanje preko Hadoop-a i HDFS-a. Tipične upotrebe uključuju podatke vremenskih serija, razmjenu poruka i analitiku u stvarnom vremenu gdje tablice rastu do milijardi redaka na mnogim čvorovima.

Pomoćnici za kodiranje umjetne inteligencije i modeli velikih jezika izrađuju naredbe za stvaranje, promjenu i ispuštanje iz jednostavnih upita, objašnjavaju dizajn obitelji stupaca i označavaju rizične operacije poput ispuštanjaping tablicu. Strojno učenje također može analizirati obrasce pristupa kako bi preporučilo bolje rasporede ključeva redaka i obitelji, iako bi inženjer trebao provjeriti svaki prijedlog.

Da. GitHub kopilot može generirati HBase shell naredbe i Java klijentski kod za stvaranje, mijenjanje i brisanjeping tablice iz kratkog komentara. RevPrije pokretanja pogledajte njegov izlaz za ispravan naziv tablice, obitelji stupaca i trenutni Admin API.

Sažmite ovu objavu uz: