- 最新动态
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- HBase用户指南
- Doris用户指南
- ClickHouse用户指南
- 权限管理
- 审计日志
- 集群日志管理
- 最佳实践
- 开发指南
- API参考
- SDK参考
-
常见问题
-
通用类
- CloudTable集群能够提供什么服务?
- 为什么要选择CloudTable服务?
- 创建CloudTable HBase集群要准备什么?
- 使用CloudTable服务时需要关注什么?
- CloudTable HBase集群支持哪些压缩算法?
- 能停止CloudTable服务吗?
- CloudTable中的HBase外部接口支持哪些编程语言?
- 故障RegionServer个数怎么判断?
- CloudTable HBase支持的特殊符号?
- CloudTable数据进行删除,导致索引表和数据表不对应查询异常处理办法?
- python通过thrift访问cloudtable,多个任务并行缓慢
- 如何查看HBase shell的TTL属性?
- 服务器资源为什么会被释放?
- 资源停止服务或逾期释放说明
- 哪些场景会影响数据均衡?
- 如何调整数据均衡的灵敏度,调整后有哪些影响?
- Doris集群回收站数据处理
- 连接访问类
- 数据读写类
- 数据导入
- 网络配置
- 计费类
-
通用类
- 文档下载
- 通用参考
链接复制成功!
Hive
创建hive catalog
通过连接Hive Metastore,或者兼容Hive Metastore的元数据服务,Doris可以自动获取Hive的库表信息,并进行数据查询。
除了Hive外,很多其他系统也会使用Hive Metastore存储元数据。所以通过Hive Catalog,我们不仅能访问Hive,也能访问使用Hive Metastore作为元数据存储的系统。
- 创建。
- Hive On OBS
CREATE CATALOG hive_catalog PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://127.x.x.x:port', 'AWS_ACCESS_KEY' = 'ak', 'AWS_SECRET_KEY' = 'sk', 'AWS_ENDPOINT' = 'obs.cn-north-4.myhuaweicloud.com', 'AWS_REGION' = 'cn-north-4', 'yarn.resourcemanager.address' = '192.X.X.X:port', 'yarn.resourcemanager.principal' = 'mapred/hadoop.hadoop.com@HADOOP.COM' );
- Hive On HDFS
CREATE CATALOG hive_catalog PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://127.x.x.x:port', 'dfs.nameservices'='hacluster', 'dfs.ha.namenodes.hacluster'='3,4', 'dfs.namenode.rpc-address.hacluster.3'='192.x.x.x:port', 'dfs.namenode.rpc-address.hacluster.4'='192.x.x.x:port', 'dfs.client.failover.proxy.provider.hacluster'='org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider', 'yarn.resourcemanager.address' = '192.X.X.X:port', 'yarn.resourcemanager.principal' = 'mapred/hadoop.hadoop.com@HADOOP.COM' );
- Hive On OBS
- 创建后查询:
select * from hive_catalog.DB.test_table;
元数据缓存设置
创建Catalog时可以采用参数file.meta.cache.ttl-second来设置Hive分区文件缓存自动失效时间,也可以将该值设置为0来禁用分区文件缓存,时间单位为:秒。示例如下:
CREATE CATALOG hive_catalog PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://127.x.x.x:port', 'AWS_ACCESS_KEY' = 'ak', 'AWS_SECRET_KEY' = 'sk', 'AWS_ENDPOINT' = 'obs.cn-north-4.myhuaweicloud.com', 'AWS_REGION' = 'cn-north-4', 'file.meta.cache.ttl-second' = '60', 'yarn.resourcemanager.address' = '192.X.X.X:port', 'yarn.resourcemanager.principal' = 'mapred/hadoop.hadoop.com@HADOOP.COM' );
Hive版本
Doris可以正确访问不同Hive版本中的Hive Metastore。在默认情况下,Doris会以Hive2.3版本的兼容接口访问Hive Metastore。你也可以在创建Catalog时指定hive的版本。如访问Hive1.1.0版本:
CREATE CATALOG hive_catalog PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://127.x.x.x:port', 'AWS_ACCESS_KEY' = 'ak', 'AWS_SECRET_KEY' = 'sk', 'AWS_ENDPOINT' = 'obs.cn-north-4.myhuaweicloud.com', 'AWS_REGION' = 'cn-north-4', 'hive.version' = '1.1.0', 'yarn.resourcemanager.address' = '192.X.X.X:port', 'yarn.resourcemanager.principal' = 'mapred/hadoop.hadoop.com@HADOOP.COM' );
参数说明
参数名 |
参数说明 |
---|---|
type |
对接外部数据类型,hms:Hive MetaStore。 |
hive.metastore.uris |
hive元数据uri,可在hive配置页面查看。 |
AWS_ACCESS_KEY |
access key,获取方式请参见对象存储服务的获取访问密钥(AK/SK)章节。 |
AWS_SECRET_KEY |
secret key,获取方式请参见对象存储服务的获取访问密钥(AK/SK)章节。 |
AWS_ENDPOINT |
obs地址,获取方式见请参见对象存储服务的获取终端节点章节。 |
AWS_REGION |
obs region,在obs页面查看。 |
file.meta.cache.ttl-second |
元数据缓存设置。 |
hive.version |
Hive版本。 |
dfs.nameservices |
name service名称,与hdfs-site.xml保持一致。 |
dfs.ha.namenodes.[nameservice ID] |
namenode的ID列表,与hdfs-site.xml保持一致。 |
dfs.namenode.rpc-address.[nameservice ID].[name node ID] |
Name node的rpc地址,数量与namenode数量相同,与hdfs-site.xml保持一致。 |
dfs.client.failover.proxy.provider.[nameservice ID] |
HDFS客户端连接活跃namenode的Java类,通常是 org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider。 |
yarn.resourcemanager.address |
|
yarn.resourcemanager.principal |
|
列类型映射
HMS Type |
Doris Type |
Comment |
---|---|---|
boolean |
boolean |
- |
tinyint |
tinyint |
- |
smallint |
smallint |
- |
int |
int |
- |
bigint |
bigint |
- |
date |
date |
- |
timestamp |
datetime |
- |
float |
float |
- |
double |
double |
- |
char |
char |
- |
varchar |
varchar |
- |
decimal |
decimal |
- |
array<type> |
array<type> |
支持array嵌套,如 array<array<int>>。 |
map<KeyType, ValueType> |
map<KeyType, ValueType> |
暂不支持嵌套,KeyType 和 ValueType 需要为基础类型。 |
struct<col1: Type1, col2: Type2, ...> |
struct<col1: Type1, col2: Type2, ...> |
暂不支持嵌套,Type1, Type2, ... 需要为基础类型。 |
other |
unsupported |
- |