如何使用 Hive 检查 Druid 数据源

How inspect Druid datasources with Hive

昨天,我从 Hive 创建了我的第一个数据源 Druid。今天,我不确定是否有效...

首先,我 运行 以下代码用于创建我的数据库 :

SET hive.druid.broker.address.default = 10.20.173.30:8082;
SET hive.druid.metadata.username = druid;
SET hive.druid.metadata.password = druid_password;
SET hive.druid.metadata.db.type = postgresql;
SET hive.druid.metadata.uri = jdbc:postgresql://10.20.173.31:5432/druid;

CREATE EXTERNAL TABLE test (
    `__time` TIMESTAMP,
    `userId` STRING,
    `lang` STRING,
    `location` STRING,
    `name` STRING
)
STORED BY 'org.apache.hadoop.hive.druid.DruidStorageHandler'

我可以在我的 Hive 架构上看到这个数据源。我怎么知道这个数据源是 Druid 数据源而不是 Hive table.

我测试了这个,但我不知道它是否是 Druid 数据源。

DESCRIBE FORMATTED test;

结果

+-------------------------------+----------------------------------------------------+----------------------------------------------------+
|           col_name            |                     data_type                      |                      comment                       |
+-------------------------------+----------------------------------------------------+----------------------------------------------------+
| # col_name                    | data_type                                          | comment                                            |
| __time                        | timestamp                                          | from deserializer                                  |
| userid                        | string                                             | from deserializer                                  |
| lang                          | string                                             | from deserializer                                  |
| location                      | string                                             | from deserializer                                  |
| name                          | string                                             | from deserializer                                                                    |
| # Detailed Table Information  | NULL                                               | NULL                                               |
| Database:                     | druid_datasources                                  | NULL                                               |
| OwnerType:                    | USER                                               | NULL                                               |
| Owner:                        | hive                                               | NULL                                               |
| CreateTime:                   | Tue Oct 15 12:42:22 CEST 2019                      | NULL                                               |
| LastAccessTime:               | UNKNOWN                                            | NULL                                               |
| Retention:                    | 0                                                  | NULL                                               |
| Location:                     | hdfs://10.20.173.30:8020/warehouse/tablespace/external/hive/druid_datasources.db/test | NULL                                               |
| Table Type:                   | EXTERNAL_TABLE                                     | NULL                                               |
| Table Parameters:             | NULL                                               | NULL                                               |
|                               | COLUMN_STATS_ACCURATE                              | {\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"__time\":\"true\",\"lang\":\"true\",\"location\":\"true\",\"name\":\"true\",\"userid\":\"true\"}} |
|                               | EXTERNAL                                           | TRUE                                               |
|                               | bucketing_version                                  | 2                                                  |
|                               | druid.datasource                                   | druid_datasources.test                     ||
|                               | numFiles                                           | 0                                                  |
|                               | numRows                                            | 0                                                  |
|                               | rawDataSize                                        | 0                                                  |
|                               | storage_handler                                    | org.apache.hadoop.hive.druid.DruidStorageHandler   |
|                               | totalSize                                          | 0                                                  |
|                               | transient_lastDdlTime                              | 1571136142                                         |
|                               | NULL                                               | NULL                                               |
| # Storage Information         | NULL                                               | NULL                                               |
| SerDe Library:                | org.apache.hadoop.hive.druid.serde.DruidSerDe      | NULL                                               |
| InputFormat:                  | null                                               | NULL                                               |
| OutputFormat:                 | null                                               | NULL                                               |
| Compressed:                   | No                                                 | NULL                                               |
| Num Buckets:                  | -1                                                 | NULL                                               |
| Bucket Columns:               | []                                                 | NULL                                               |
| Sort Columns:                 | []                                                 | NULL                                               |
| Storage Desc Params:          | NULL                                               | NULL                                               |
|                               | serialization.format                               | 1                                                  |
+-------------------------------+----------------------------------------------------+----------------------------------------------------+

我做的不错还是有 Druid 参数的 Hive table? 有人可以向我解释更多有关 Hive/Druid 互动的信息吗?

谢谢 :D

我想你在配置单元中注册了你的德鲁伊数据源。现在,您可以 运行 在此 table.

之上使用配置单元服务器进行查询

您的 table 定义在我看来是正确的 我认为您成功地将德鲁伊数据源与配置单元集成在一起。您可以在 table.

中查看德鲁伊相关属性

现在,当您查询 table 时,它将根据查询使用处理引擎,它将使用 hive 服务器和 druid。它可以在独立的基础上使用两者或其中之一的组合来执行查询。这取决于该查询是否可以转换为德鲁伊查询。

您可以参考此文档以获取有关 Hive/Druid 交互的更多信息:https://cwiki.apache.org/confluence/display/Hive/Druid+Integration(参考:从 Hive 查询 Druid)