У овом упутству ћете научити:
- Записивање података у табелу ХБасе: Схелл
- Прочитајте податке из табеле ХБасе: Схелл
- Записивање података у табелу ХБасе: ЈАВА АПИ
- Читање података из табеле ХБасе: ЈАВА АПИ
Записивање података у табелу ХБасе: Схелл
Наредба пут користи се за чување података у табели
Syntax: put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>
Ова наредба се користи за следеће ствари
- Ставиће ћелију 'вредност' у дефинисану или наведену табелу или ред или колону.
- По жељи ће координирати временску ознаку.
Пример:
- Овде стављамо вредности у табелу "гуру99" испод реда р1 и колоне ц1
hbase> put 'guru99', 'r1', 'c1', 'value', 10
- Ставили смо три вредности, 10,15 и 30 у табелу "гуру99", као што је приказано на снимку екрана испод
-
Претпоставимо да ако табела "Гуру99" има неку референцу табеле попут рецимо г. Такође можемо покренути команду на референци табеле, такође као
hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
-
Резултат ће бити као што је приказано на горњем снимку екрана након стављања вредности у „гуру99“.
Прочитајте податке из табеле ХБасе: Схелл
У овом одељку проверићемо следеће
- Вредности које су уметнуте у табелу ХБасе "гуру99"
- Имена колона са вредностима присутним у ХБасе Табле гуру99
Из горњег снимка заслона можемо закључити
- Ако покренемо наредбу "сцан" у љусци ХБасе, она ће приказати уметнуте вредности у "гуру99" на следећи начин
- У ХБасе љусци ће приказати вредности уметнуте нашим кодом са именима колона и редова
- Овде можемо видети да су уметнути називи колоне „образовање“ и „пројекти“
- У поменуте колоне су уметнуте вредности „БигДата“ и „ХБасе Туториалс“
Наредбу Гет такође можете користити за читање података из табеле
Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}
Овде <Додатни параметри> укључују ТИМЕРАНГЕ, ТИМЕСТАМП, ВЕРСИОНС и ФИЛТЕРС.
Коришћењем ове наредбе добићете садржај реда или ћелије присутан у табели. Поред тога, можете му додати и додатне параметре попут ТИМЕСТАМП, ТИМЕРАНГЕ, ВЕРСИОНС, ФИЛТЕРС, итд. Да бисте добили одређени садржај реда или ћелије.
Примери:-
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
За табелу "гуру99 'вредности р1 и колоне ц1 ће се приказати помоћу ове наредбе као што је приказано на горњем снимку екрана
hbase> get 'guru99', 'r1'
За табелу "гуру99" ред р1 вредности ће се приказати помоћу ове наредбе
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
За табелу "гуру99" помоћу ове наредбе биће приказане вредности 1. реда у временском опсегу тс1 и тс2
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
За табелу "гуру99" вредности реда ц1, ц2, ц3 породица р1 и колона биће приказане помоћу ове наредбе
Записивање података у табелу ХБасе: ЈАВА АПИ
У овом кораку ћемо записати податке у ХБасе табелу "гуру99"
Прво морамо да напишемо код за уметање и преузимање вредности из ХБасе помоћу програма ХБасеЛоадинг.јава.
Да бисте креирали и уметнули вредности у табелу на нивоу колоне, морате да кодирате као у наставку .
Са горњег екрана
- Када креирамо ХБасе конфигурацију, она ће указати на све конфигурације које поставимо у датотекама басе-сите.кмл и хбасе-дефаулт.кмл током инсталација ХБасе
- Израда табеле "гуру99" применом ХТабле методе
- Додавање реда1 у табелу "гуру99"
- Навођење имена колона „образовање“ и „пројекти“ и уметање вредности у имена колона у одговарајућем реду1. Овде су уметнуте вредности „БигДата“ и „ХБасеТуториалс“.
Читање података из табеле ХБасе: Јава АПИ
Без обзира на вредности које смо поставили у ХБасе табеле у горњем одељку, овде ћемо преузети и приказати те вредности.
За преузимање резултата сачуваних у „гуру99“
Горњи снимак заслона приказује податке који се читају из ХБасе табеле 'гуру99'
- У овоме ћемо преузети вредности које се чувају у породицама колона, тј. „Образовање“ и „пројекти“
- Коришћењем наредбе „гет“ дохватићемо сачуване вредности у табели ХБасе
- Скенирање резултата помоћу наредбе "сцан". Вредности које су сачуване у реду1 приказаће се на конзоли.
Једном када је писање кода завршено, морате да покренете Јава апликацију попут ове
- Десни клик на ХБасеЛоадинг.јава -> Покрени као -> Јава апликација
- Након покретања "ХБасеЛоадинг .јава" вредности које ће се уметнути у "гуру99" у сваку колону у ХБасе-у и у истом програму такође може да преузме вредности.
Ево комплетног кода
import java.io.IOException;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.client.Get;import org.apache.hadoop.hbase.client.HTable;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client.Scan;import org.apache.hadoop.hbase.util.Bytes;public class HBaseLoading{public static void main(String[] args) throws IOException{/* When you create a HBaseConfiguration, it reads in whatever you've set into your hbase-site.xml and in hbase-default.xml, as long as these can be found on the CLASSPATH*/org.apache.hadoop.conf.Configuration config = HBaseConfiguration.create();/*This instantiates an HTable object that connects you to the "test" table*/HTable table = new HTable(config, "guru99");/* To add to a row, use Put. A Put constructor takes the name of the row you want to insert into as a byte array.*/Put p = new Put(Bytes.toBytes("row1"));/*To set the value you'd like to update in the row 'row1', specify the column family, column qualifier, and value of the table cell you'd like to update. The column family must already exist in your table schema. The qualifier can be anything.*/p.add(Bytes.toBytes("education"), Bytes.toBytes("col1"),Bytes.toBytes("BigData"));p.add(Bytes.toBytes("projects"),Bytes.toBytes("col2"),Bytes.toBytes("HBaseTutorials"));// Once you've adorned your Put instance with all the updates you want to make, to commit it do the followingtable.put(p);// Now, to retrieve the data we just wrote.Get g = new Get(Bytes.toBytes("row1"));Result r = table.get(g);byte [] value = r.getValue(Bytes.toBytes("education"),Bytes.toBytes("col1"));byte [] value1 = r.getValue(Bytes.toBytes("projects"),Bytes.toBytes("col2"));String valueStr = Bytes.toString(value);String valueStr1 = Bytes.toString(value1);System.out.println("GET: " +"education: "+ valueStr+"projects: "+valueStr1);Scan s = new Scan();s.addColumn(Bytes.toBytes("education"), Bytes.toBytes("col1"));s.addColumn(Bytes.toBytes("projects"), Bytes.toBytes("col2"));ResultScanner scanner = table.getScanner(s);try{for (Result rr = scanner.next(); rr != null; rr = scanner.next()){System.out.println("Found row : " + rr);}} finally{// Make sure you close your scanners when you are done!scanner.close();}}}
Резиме:
Као што смо разговарали у овом упутству, можете користити команду пут за уметање података у табелу. За читање података из табеле можете да користите наредбу сцан, гет