このトピックでは、HBase データテーブルの使用方法について説明します。
構文
CREATE TABLE tbName
USING hbase
OPTIONS(propertyName=propertyValue[,propertyName=propertyValue]*);
設定パラメーター
-
パラメーター 説明 必須 catalog JSON 形式の HBase データテーブルのフィールドの記述。 はい hbaseConfiguration JSON 形式の HBase 設定。 たとえば、HBase 接続アドレスを '{"hbase.zookeeper.quorum":"a.b.c.d:2181"}' に設定します。 はい - catalog 設定例を次に示します。
上記の例では、HBase table1 のスキーマを記述しています。 この例では、rowkey フィールドが key に設定され、関連情報が列 1 から 8 に定義されています。{ "table":{"namespace":"default", "name":"table1"}, "rowkey":"key", "columns":{ "col0":{"cf":"rowkey", "col":"key", "type":"string"}, "col1":{"cf":"cf1", "col":"col1", "type":"boolean"}, "col2":{"cf":"cf2", "col":"col2", "type":"double"}, "col3":{"cf":"cf3", "col":"col3", "type":"float"}, "col4":{"cf":"cf4", "col":"col4", "type":"int"}, "col5":{"cf":"cf5", "col":"col5", "type":"bigint"}, "col6":{"cf":"cf6", "col":"col6", "type":"smallint"}, "col7":{"cf":"cf7", "col":"col7", "type":"string"}, "col8":{"cf":"cf8", "col":"col8", "type":"tinyint"} } }
重要 列 0 で cf フィールドを rowkey に設定する必要があります。
テーブルスキーマ
HBase データテーブルを作成するとき、データテーブルのフィールドを明示的に定義する必要はありません。 たとえば、有効なテーブル作成文を次に示します。
spark-sql> CREATE DATABASE IF NOT EXISTS default;
spark-sql> USE default;
spark-sql> DROP TABLE IF IF EXISTS hbase_table_test;
spark-sql> CREATE TABLE hbase_table_test
> USING hbase
> OPTIONS(
> catalog='{"table":{"namespace":"default","name":"test"},"rowkey":"key", "columns":{"key":{"cf":"rowkey", "col":"key", "type":"string"},"data":{"cf":"info", "col":"data", "type":"string"}}}',
> hbaseConfiguration='{"hbase.zookeeper.quorum":"a.b.c.d:2181"}');
spark-sql> DESC hbase_table_test;
key string NULL
data string NULL
Time taken: 0.436 seconds, Fetched 2 row(s)