我们正在尝试通过 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 数据源)、主机和端口(均用于 Impala 安装在我们的 AWS 基础设施中)和 impala/impala 用于凭证。
问题是当我们完成向导并选择默认命名空间(这是唯一可用的。没有创建任何其他 ns)时,我们可以看到我们之前创建的 hive 表,而不是 hbase 表。
我是说:
hiveTableName1
hiveTableName2
代替
hbaseTableName1
hbaseTableName2
而且,由于这些是唯一可用的表,我们只能使用这两个表执行我们的报告:通过一个字段将这两个表连接起来非常简单。两个表都有 200.000 条记录,连接需要 1 分钟以上才能完成。我确信我们在这里遗漏了一些东西,将 hive 表链接到 hbase 表的过程并不完全正确。有没有办法能够连接到这两个 hbase 表而不是 hive 表?任何帮助将不胜感激。