跳到主要内容

Apache Hive

Introduced or updated: v1.2.668

Databend 支持集成 Apache Hive catalog,从而增强了其数据管理和分析的兼容性和多功能性。通过将 Apache Hive 强大的元数据和存储管理功能无缝集成到平台中,扩展了 Databend 的功能。

数据类型映射

下表映射了 Apache Hive 和 Databend 之间的数据类型。请注意,Databend 目前不支持表中未列出的 Hive 数据类型。

Apache HiveDatabend
BOOLEANBOOLEAN
TINYINTTINYINT (INT8)
SMALLINTSMALLINT (INT16)
INTINT (INT32)
BIGINTBIGINT (INT64)
DATEDATE
TIMESTAMPTIMESTAMP
FLOATFLOAT (FLOAT32)
DOUBLEDOUBLE (FLOAT64)
VARCHARVARCHAR (STRING)
DECIMALDECIMAL
ARRAY<TYPE>ARRAY, supports nesting
MAP<KEYTYPE, VALUETYPE>MAP

管理 Catalogs

Databend 为您提供了以下命令来管理 catalogs:

CREATE CATALOG

在 Databend 查询引擎中定义并建立一个新的 catalog。

语法

CREATE CATALOG <catalog_name>
TYPE = <catalog_type>
CONNECTION = (
METASTORE_ADDRESS = '<hive_metastore_address>'
URL = '<data_storage_path>'
<connection_parameter> = '<connection_parameter_value>'
<connection_parameter> = '<connection_parameter_value>'
...
)
ParameterRequired?Description
TYPEYescatalog 的类型:Hive catalog 为 'HIVE',Iceberg catalog 为 'ICEBERG'。
METASTORE_ADDRESSNoHive Metastore 地址。仅 Hive catalog 需要。
URLYes链接到此 catalog 的外部存储的位置。这可以是 bucket 或 bucket 中的文件夹。例如,'s3://databend-toronto/'。
connection_parameterYes用于建立与外部存储连接的连接参数。所需的参数因具体的存储服务和身份验证方法而异。有关详细信息,请参阅 连接参数
备注

要从 HDFS 读取数据,您需要在启动 Databend 之前设置以下环境变量。这些环境变量确保 Databend 可以访问必要的 Java 和 Hadoop 依赖项,以有效地与 HDFS 交互。请确保将 "/path/to/java" 和 "/path/to/hadoop" 替换为 Java 和 Hadoop 安装的实际路径,并调整 CLASSPATH 以包含所有必需的 Hadoop JAR 文件。

export JAVA_HOME=/path/to/java
export LD_LIBRARY_PATH=${JAVA_HOME}/lib/server:${LD_LIBRARY_PATH}
export HADOOP_HOME=/path/to/hadoop
export CLASSPATH=/all/hadoop/jar/files

SHOW CREATE CATALOG

返回指定 catalog 的详细配置,包括其类型和存储参数。

语法

SHOW CREATE CATALOG <catalog_name>;

SHOW CATALOGS

显示所有已创建的 catalogs。

语法

SHOW CATALOGS [LIKE '<pattern>']

USE CATALOG

将当前会话切换到指定的 catalog。

语法

USE CATALOG <catalog_name>

使用示例

此示例演示了如何创建一个配置为与 Hive Metastore 交互并访问存储在 Amazon S3 上(位于 's3://databend-toronto/')的数据的 catalog。

CREATE CATALOG hive_ctl
TYPE = HIVE
CONNECTION =(
METASTORE_ADDRESS = '127.0.0.1:9083'
URL = 's3://databend-toronto/'
AWS_KEY_ID = '<your_key_id>'
AWS_SECRET_KEY = '<your_secret_key>'
);

SHOW CREATE CATALOG hive_ctl;

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Catalog │ TypeOption
├──────────┼────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ hive_ctl │ hive │ METASTORE ADDRESS\n127.0.0.1:9083\nSTORAGE PARAMS\ns3 | bucket=databend-toronto,root=/,endpoint=https://s3.amazonaws.com │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册