外部表简介
功能概述: 外部表是 Lakehouse 的一项特性,它使您能够查询存储在外部系统中的数据,就如同这些数据存储在 Lakehouse 内部一样。这些外部数据并不存储或管理在 Lakehouse 中。
性能提示: 由于外部表中的数据存储在 Lakehouse 外部,查询外部表可能比查询存储在本地的表稍慢。为了提升查询效率,建议使用 INSERT INTO internal_table_name SELECT * FROM external_table_name
语句或 COPY INTO
命令将数据导入到 Lakehouse 中。
支持的外部表数据源
- kafka外部表
- delta lake外部表
- hudi外部表
外部表与 External Schema 区别
- External Schema: 直接与 Hive 元数据服务(HMS)交互,通过 HMS 接口直接获取 Hive 的元数据信息。
- 外部表: 允许用户自定义创建表,指定列内容和表名。
- External Schema 限制: 由于是直接映射 HMS,无法在 External Schema 下直接创建、删除表或重命名表。
- 外部表优势: 支持重命名和修改注释等操作,因为它们是在内部 schema 下创建的。
具体案例
连接阿里云Oss
连接Google Gcs
Lakehouse 连接 Google Cloud Storage (GCS) 时,将使用服务账号密钥进行身份验证。请按照以下步骤操作:
-
获取服务账号密钥:
- 登录 Google Cloud 控制台。
- 按照 Google Cloud 文档 的指导,创建并下载服务账号的 JSON 密钥文件。
-
配置
private_key
参数:- 打开下载的 JSON 密钥文件,将文件中的私钥内容完整复制
-
注意:
- 在配置
private_key
时,在private_key添加r,表示转译字符不会被转译。
- 在配置
外部表计费
- 存储费用: 外部表不产生存储费用,因为数据不存储在 Lakehouse 中。
- 计算费用: 使用外部表进行计算会消耗计算资源,因此会产生计算费用。
外部表权限
外部表和内部表权限点相同,外部无法执行insert\update\truncate\delete\undrop等操作所以没有对应的操作
- 创建权限: 需要具有创建表(create table)的权限。
- 删除权限: 需要具有删除(drop)权限。
- 读取权限: 需要具有选择(select)权限。
使用注意事项
- 连接配置: 创建 connection 时,确保 endpoint 配置正确,以便 Lakehouse 能够成功连接。如果 Lakehouse 和对象存储位于同一云服务且在同一区域,通常使用内网地址即可实现网络互通。如果不在同一网络环境,建议使用对象存储的公网地址。
联系我们