gpt4 book ai didi

hadoop - Microstrategy - HBase 连接

转载 作者:可可西里 更新时间:2023-11-01 14:58:08 25 4
gpt4 key购买 nike

我们正在尝试通过 Impala 连接器将 MS 9.4 连接到 HBase。

首先,我们使用以下创建表(如我们在文档中看到的那样)创建了与 HBase 表相似的配置单元表:

CREATE TABLE hiveTableName1 
(key int, columnName1 codClient, columnName2 clientName)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,columnfamily1:columnName1,columnfamily1:columnName2")
TBLPROPERTIES ("hbase.table.name" = "hbaseTableName1");

我们做了两次,因为我们想创建两个 hive 表和它们对应的 hbase 表,以便稍后使用 MS 在它们之间执行连接。

对于 MS 与 HBase 之间的连接,我们按照步骤选择 MicroStrategy ODBC Driver for Impala Wire Protocol,并填写数据源名称(之前使用 Impala 驱动程序创建的 Impala 数据源)、主机和端口(两者都是用于在我们的 AWS 基础设施中安装 Impala)和用于凭据的 impala/impala。

事情是,当我们完成向导并选择默认命名空间(这是唯一可用的命名空间。没有创建任何其他 ns)时,我们可以看到我们之前创建的配置单元表,而不是 hbase表格。

我的意思是:

hiveTableName1
hiveTableName2

代替

hbaseTableName1
hbaseTableName2

并且,由于这些是唯一可用的表,我们只能使用这两个表来执行我们的报告:通过一个字段将这两个表非常简单地连接起来。两个表都有 200.000 条记录,连接需要 1 分钟多的时间才能完成。我确定我们在这里遗漏了一些东西,并且将配置单元表链接到 hbase 表的过程并不完全正确。有没有办法连接到这两个 hbase 表而不是配置单元表?非常感谢任何帮助。

最佳答案

1. HBase不支持SQL,也不支持“join”的概念。

2. 在 HBase 表上映射 Hive 表意味着每个 Hive 查询都会触发 HBase 端的完整扫描,然后将结果提供给 MapReduce 批处理作业过滤器和连接。

底线:1 分钟对于您正在做的事情来说已经相当快了。

如果您期望亚秒级的结果,请尝试一些“小数据”技术(例如 MySQL、Oracle,甚至 MS Access),或者忘记连接。对于亚分钟结果,您可以尝试 Apache Phoenix:它是一个带有索引和某种 SQL 的 HBase 包装器。虽然不确定 ODBC/JDBC 驱动程序。

关于hadoop - Microstrategy - HBase 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32134730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com