tencent cloud

对象存储

动态与公告
产品动态
产品公告
产品简介
产品概述
功能概览
应用场景
产品优势
基本概念
地域和访问域名
规格与限制
产品计费
计费概述
计费方式
计费项
免费额度
计费示例
查看和下载账单
欠费说明
常见问题
快速入门
控制台快速入门
COSBrowser 快速入门
用户指南
创建请求
存储桶
对象
数据管理
批量处理
全球加速
监控与告警
运维中心
数据处理
内容审核
智能工具箱
数据工作流
应用集成
工具指南
工具概览
环境安装与配置
COSBrowser 工具
COSCLI 工具
COSCMD 工具
COS Migration 工具
FTP Server 工具
Hadoop 工具
COSDistCp 工具
HDFS TO COS 工具
GooseFS-Lite 工具
在线辅助工具
自助诊断工具
实践教程
概览
访问控制与权限管理
性能优化
使用 AWS S3 SDK 访问 COS
数据容灾备份
域名管理实践
图片处理实践
COS 音视频播放器实践
工作流实践
数据直传
内容审核实践
数据安全
数据校验
大数据实践
COS 成本优化解决方案
在第三方应用中使用 COS
迁移指南
本地数据迁移至 COS
第三方云存储数据迁移至 COS
以 URL 作为源地址的数据迁移至 COS
COS 之间数据迁移
Hadoop 文件系统与 COS 之间的数据迁移
数据湖存储
云原生数据湖
元数据加速
数据加速器 GooseFS
数据处理
数据处理概述
图片处理
媒体处理
内容审核
文件处理
文档处理
故障处理
获取 RequestId 操作指引
通过外网上传文件至 COS 缓慢
访问 COS 时返回403错误码
资源访问异常
POST Object 常见异常
API 文档
简介
公共请求头部
公共响应头部
错误码
请求签名
操作列表
Service 接口
Bucket 接口
Object 接口
批量处理接口
数据处理接口
任务与工作流
内容审核接口
云查毒接口
SDK 文档
SDK 概览
准备工作
Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Flutter SDK
Go SDK
iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
React Native SDK
小程序 SDK
错误码
鸿蒙(Harmony) SDK
终端 SDK 质量优化
安全与合规
数据容灾
数据安全
访问管理
常见问题
热门问题
一般性问题
计费计量问题
域名合规问题
存储桶配置问题
域名和 CDN 问题
文件操作问题
日志监控问题
权限管理问题
数据处理问题
数据安全问题
预签名 URL 问题
SDK 类问题
工具类问题
API 类问题
服务协议
Service Level Agreement
隐私政策
数据处理和安全协议
联系我们
词汇表

Table 管理能力

PDF
聚焦模式
字号
最后更新时间: 2024-01-06 11:17:59

Table 管理能力概述

GooseFS Table 管理能力用于管理结构化数据,为 SparkSQL、Hive、Presto 等上层计算应用提供数据库表管理能力,目前底层支持对接 Hive MetaStore。Table 管理能力能够帮助各类 SQL 引擎读取指定的数据内容,能够有效提升大数据场景下对数据的访问效率。

GooseFS Table 管理能力目前主要支持了以下特性:
元数据层面的描述能力。GooseFS Catalog 提供源自远程元数据服务(Hive MetaStore)的元数据缓存服务,针对 SparkSQL,Hive,SQL Presto 等 SQL 引擎做查询时,可以根据 GooseFS Catalog 中的元数据缓存服务来确定读取数据大小、目标数据位置以及数据结构,具备与 Hive MetaStore 相同的能力表现。
表级数据预缓存能力。GooseFS Catalog 能够感知数据表和数据存储路径的对应关系,进而可以提供 Table 级别以及 Table Partition 级别的缓存预热能力,帮助用户提前按照表结构缓存数据,极大提高访问性能。
跨存储服务的统一元数据服务。通过 GooseFS Catalog 运行上层计算应用,可以同时对不同的底层存储系统提供访问加速能力。同时 GooseFS Catalog 可以提供跨越存储服务的统一元数据查询能力,只需要一个 GooseFS 客户端开启 Catalog 功能,即可查询不同存储系统,例如 HDFS、COS、CHDFS 中的数据。

使用 GooseFS Table 管理能力

GooseFS Table 管理能力通过 goosefs table 指令集实现,提供了 DB 的绑定和解绑、查询 DB 信息、查询表信息、数据加载、数据淘汰等能力。GooseFS Table 管理指令集如下所示:
$ goosefs table
Usage: goosefs table [generic options]
[attachdb [-o|--option <key=value>] [--db <goosefs db name>] [--ignore-sync-errors] <udb type> <udb connection uri> <udb db name>]
[detachdb <db name>]
[free <dbName> <tableName> [-p|--partition <partitionSpec>]]
[load <dbName> <tableName> [-g|--greedy] [--replication <num>] [-p|--partition <partitionSpec>]]
[ls [<db name> [<table name>]]]
[stat <dbName> <tableName>]
[sync <db name>]
上述指令集中各项指令的能力简述如下:
attachdb:挂载数据库,将一个远端数据库绑定到 GooseFS 上,目前仅支持 Hive MetaStore。
detachdb:卸载数据库,将 GooseFS 上绑定的数据库解绑。
free:清除指定 DB.Table 的数据缓存,可支持 Partition 粒度。
load:缓存指定 DB.Table 的数据,可支持 partition 粒度,支持通过 replication 设置缓存的副本数。
ls:列出指定 DB 或 DB.Table 的元数据信息。
stat:查询指定 DB.Table 的文件数目、总大小、以及缓存百分比。
sync:同步指定 DB 的内容。
transform:将指定 DB 关联的 Table 转换为新的 Table。
transformStatus:Table 转换的进度情况。

1. 挂载 DB

预热指定 Table 数据到 GooseFS 之前,需要将对应的 DB 挂载到 GooseFS 上。如下指令展示了将指定地址 metastore_host:port 中的数据库 goosefs_db_demo 挂载到 GooseFS 中,并将该 DB 在 GooseFS 中命名为 test_db:
$ goosefs table attachdb --db test_db hive thrift://metastore_host:port goosefs_db_demo

response of attachdb
注意
metastore_host:port 可以替换为任意合法可连接的 Hive MetaStore 地址。

2. 查看 Table 信息

绑定完数据库后,可以通过 ls 指令查看已挂载的 DB 和 Table 信息,如下指令展示了如何查询 test_db 中的 web_page 表信息:
$ goosefs table ls test_db web_page

OWNER: hadoop
DBNAME.TABLENAME: testdb.web_page (
wp_web_page_sk bigint,
wp_web_page_id string,
wp_rec_start_date string,
wp_rec_end_date string,
wp_creation_date_sk bigint,
wp_access_date_sk bigint,
wp_autogen_flag string,
wp_customer_sk bigint,
wp_url string,
wp_type string,
wp_char_count int,
wp_link_count int,
wp_image_count int,
wp_max_ad_count int,
)
PARTITIONED BY (
)
LOCATION (
gfs://metastore_host:port/myiNamespace/3000/web_page
)
PARTITION LIST (
{
partitionName: web_page
location: gfs://metastore_host:port/myNamespace/3000/web_page
}
)

3. 预热 Table 中的数据

预热 Table 的指令下发后会在后台发起一个异步作业,GooseFS 会在启动作业后返回一个作业 ID,可以通过 job stat <ID> 指令查询任务的运行状态,同时可以通过 table stat 指令查看预热百分比。预热指令如下:
$ goosefs table load test_db web_page
Asynchronous job submitted successfully, jobId: 1615966078836

4. 查看 Table 预热情况

通过 job stat 指令可以查看预热 Table 作业的执行进度。当状态为 COMPLETED 时,整个预热过程完成,如果状态为 FAILED,可以在 master.log 文件中查看日志记录,排查预热错误的原因:
$ goosefs job stat 1615966078836
COMPLETED
当 Table 完成预热后,可以通过 stat 指令查看指定 Table 的概况。
$ goosefs table stat test_db web_page
detail

5. 释放 Table

通过以下指令可以从 GooseFS 中释放指定 Table 数据缓存:
$ goosefs table free test_db web_page
detail

6. 卸载 DB

通过以下指令可以从 GooseFS 中卸载指定 DB:
$ goosefs table detachdb test_db
detail

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈