bigsql hbase集成

aemubtdh  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(426)

我是bigsql的新手。我知道hbase可以与bigsql集成。在创建hbase表之后和之前,我曾尝试执行bigsql hbase create命令,但是我得到了下面提到的错误。
sql1:

CREATE HBASE TABLE dbname.reviews_hive (
REVIEWID int,
PRODUCT int
)
COLUMN MAPPING
(
key MAPPED BY (REVIEWID),
summary:product MAPPED BY (PRODUCT)
);

(或)
sql2:

CREATE HBASE TABLE dbname.reviews_hive (
REVIEWID int primary key not null,
PRODUCT int
)
COLUMN MAPPING
(
key MAPPED BY (REVIEWID),
summary:product MAPPED BY (PRODUCT)
);

错误:[状态:42601][代码:-104]:在“(”之后发现意外标记“key”。预期的令牌可能包括:“。。sqlcode=-104,sqlstate=42601,driver=3.68.61
有人能帮我吗?
提前谢谢各位。

ffdz8vbo

ffdz8vbo1#

我假设你在big insights 4.x上。在biginsights 4之前,bigsql的sql接口仅在bigsql v1中可用。
当我运行以下测试脚本(包括您的两个create hbase table语句)(我通过jsqsh和db2命令行运行了这个示例)时,我得到了以下结果:

\connect bigsql
drop table if exists stack.issue3;

create hbase table if not exists stack.issue3 (
f1 integer,
f2 integer,
f3 varchar(200),
f4 integer
)
column mapping(
    key mapped by (f1, f2),
    cf0:f3 mapped by (f3,f4)
    encoding delimited
    fields terminated by '\b'
)
default encoding binary
;

insert into stack.issue3 (f1,f2,f3,f4) values (0,0,'Detroit',0);
insert into stack.issue3 (f1,f2,f3,f4) values (1,1,'Mt. Pleasant',1);
insert into stack.issue3 (f1,f2,f3,f4) values (2,2,'Marysville',2);
insert into stack.issue3 (f1,f2,f3,f4) values (3,3,'St. Clair',3);
insert into stack.issue3 (f1,f2,f3,f4) values (4,4,'Port Huron',4);

select * from stack.issue3;

drop table if exists dbname.reviews_hive;
CREATE HBASE TABLE if not exists dbname.reviews_hive (
        REVIEWID int,
        PRODUCT int
)
COLUMN MAPPING (
key MAPPED BY (REVIEWID),
summary:product MAPPED BY (PRODUCT)
);

insert into dbname.reviews_hive(reviewid,product) values (0,0);
insert into dbname.reviews_hive(reviewid,product) values (1,1);
insert into dbname.reviews_hive(reviewid,product) values (2,2);
insert into dbname.reviews_hive(reviewid,product) values (3,3);

select * from dbname.reviews_hive;

drop table if exists dbname.reviews_hive1;
CREATE HBASE TABLE if not exists dbname.reviews_hive1 (
        REVIEWID int primary key not null,
        PRODUCT int
)
COLUMN MAPPING (
        key MAPPED BY (REVIEWID),
        summary:product MAPPED BY (PRODUCT)
);

insert into dbname.reviews_hive1(reviewid,product) values (-1,1);
insert into dbname.reviews_hive1(reviewid,product) values (-2,2);
insert into dbname.reviews_hive1(reviewid,product) values (-3,3);
insert into dbname.reviews_hive1(reviewid,product) values (-4,4);

select * from dbname.reviews_hive1;
\quit

我得到以下结果:

jsqsh --autoconnect --input-file=./t2.sql --output-file=t2.out
0 rows affected (total: 3.75s)
0 rows affected (total: 1.63s)
1 row affected (total: 0.29s)
1 row affected (total: 0.27s)
1 row affected (total: 0.15s)
1 row affected (total: 0.25s)
1 row affected (total: 0.26s)
5 rows in results(first row: 0.22s; total: 0.23s)
0 rows affected (total: 4.6s)
0 rows affected (total: 1.65s)
1 row affected (total: 0.29s)
1 row affected (total: 0.15s)
1 row affected (total: 0.25s)
1 row affected (total: 0.15s)
4 rows in results(first row: 0.18s; total: 0.18s)
0 rows affected (total: 3.70s)
0 rows affected (total: 1.66s)
1 row affected (total: 0.30s)
1 row affected (total: 0.26s)
1 row affected (total: 0.16s)
1 row affected (total: 0.15s)
4 rows in results(first row: 0.18s; total: 0.18s)

cat t2.out
+----+----+--------------+----+
| F1 | F2 | F3           | F4 |
+----+----+--------------+----+
|  0 |  0 | Detroit      |  0 |
|  1 |  1 | Mt. Pleasant |  1 |
|  2 |  2 | Marysville   |  2 |
|  3 |  3 | St. Clair    |  3 |
|  4 |  4 | Port Huron   |  4 |
+----+----+--------------+----+
+----------+---------+
| REVIEWID | PRODUCT |
+----------+---------+
|        0 |       0 |
|        1 |       1 |
|        2 |       2 |
|        3 |       3 |
+----------+---------+
+----------+---------+
| REVIEWID | PRODUCT |
+----------+---------+
|       -4 |       4 |
|       -3 |       3 |
|       -2 |       2 |
|       -1 |       1 |
+----------+---------+

相关问题