El get comando get y el get() método de HTable clase se utilizan para leer los datos de una tabla en HBase. Usando get, usted puede obtener una fila de datos a la vez. Su sintaxis es la siguiente:
get ’<table name>’,’row1’
El siguiente ejemplo muestra cómo utilizar el comando get. Nos captura la primera fila de la emp tabla.
hbase(main):012:0> get 'emp', '1' COLUMN CELL personal : city timestamp=1417521848375, value=hyderabad personal : name timestamp=1417521785385, value=ramu professional: designation timestamp=1417521885277, value=manager professional: salary timestamp=1417521903862, value=50000 4 row(s) in 0.0270 seconds
A continuación se muestra la sintaxis para leer una columna específica mediante el get método.
hbase>get 'table name', ‘rowid’, {COLUMN => ‘column family:column name ’}
A continuación se muestra el ejemplo, para leer una columna específica de HBase tabla.
hbase(main):015:0> get 'emp', 'row1', {COLUMN=>'personal:name'} COLUMN CELL personal:name timestamp=1418035791555, value=raju 1 row(s) in 0.0080 seconds
Para leer los datos de una tabla HBase, utilice el get() método, de la clase HTable. Este método requiere una instancia de la get clase. Siga los pasos que se indican a continuación para recuperar los datos de la tabla HBase.
HBase Configurationclase añade archivos de configuración de su objeto. Puede crear un objeto de configuración mediante el create() método de la HbaseConfiguration clase como se muestra a continuación.
Configuration conf = HbaseConfiguration.create();
Tiene una clase llamada HTable, una implementación de tabla en HBase. Esta clase se utiliza para comunicarse con un solo HBase tabla. Al crear una instancia esta clase, acepta el objeto de configuración y el nombre de la tabla como parámetros. Puede crear instancias de la clase HTable como se muestra a continuación.
HTable hTable = new HTable(conf, tableName);
Se pueden recuperar datos de la HBase tabla utilizando el get() método, de la HTable clase. Este método extrae una celda de una fila determinada. Se requiere un Get objeto de clase como parámetro. Crear tal y como se muestra a continuación.
Get get = new Get(toBytes("row1"));
Al recuperar los datos, se puede obtener una sola fila de id, o conseguir un conjunto de filas de un conjunto de identificadores de fila, o escanear una tabla entera o un subconjunto de filas.
Puede recuperar una HBase datos de la tabla utilizando el método add variantes en Get clase.
Para obtener una columna específica de una determinada columna familia, utilice el método siguiente.
get.addFamily(personal)
Para obtener todas las columnas de una columna específica familia, utilice el método siguiente.
get.addColumn(personal, name)
Obtener el resultado de una Get instancia de la clase al método get de la HTable clase . Este método devuelve el resultado objeto de la clase, que tiene el resultado. A continuación se muestra el uso del get() método.
Result result = table.get(g);
LaResult clase proporciona el getValue() para leer los valores de la instancia. Usar como se muestra a continuación para leer los valores de los resultados.
byte [] value = result.getValue(Bytes.toBytes("personal"),Bytes.toBytes("name")); byte [] value1 = result.getValue(Bytes.toBytes("personal"),Bytes.toBytes("city"));
A continuación se incluye el programa completo para leer los valores de una tabla HBase
import java.io.IOException; import org.apache.hadoop.conf.Configuration; 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.Result; import org.apache.hadoop.hbase.util.Bytes; public class RetriveData { public static void main(String[] args) throws IOException, Exception { // Instantiating Configuration class Configuration config = HBaseConfiguration.create(); // Instantiating HTable class HTable table = new HTable(config, "emp"); // Instantiating Get class Get g = new Get(Bytes.toBytes("row1")); // Reading the data Result result = table.get(g); // Reading values from Result class object byte [] value = result.getValue(Bytes.toBytes("personal"),Bytes.toBytes("name")); byte [] value1 = result.getValue(Bytes.toBytes("personal"),Bytes.toBytes("city")); // Printing the values String name = Bytes.toString(value); String city = Bytes.toString(value1); System.out.println("name: " + name + " city: " + city); } }
Compilar y ejecutar el programa como se muestra a continuación.
$javac RetriveData.java $java RetriveData
Lo siguiente debe ser el producto:
name: Raju city: Delhi