点击左侧的表管理,下拉展示当前租户下的 Schema 列表,支持关键词匹配智能搜索。选定对应的 Schema 后,用户可以看到当前 Schema 下的所有表名。
同时可以看到创建时间,支持排序功能/表类型,支持筛选功能,点击漏斗下拉进行表类型筛选。同时,对于有分区的外表,刷新分区按钮将可见,用户可以对新增的外表进行刷新。
对于内表,会额外显示存储的预估大小,存储大小统计有一定延迟,更新延迟时间不超过 24 小时。
默认情况下数据行是收起状态,点击左边小三角可以展示更多信息, 用户可以看到 字段信息,数据预览,分区信息,DDL 信息 4 个标签 :
注意
需要注意的是目前数据预览网页界面暂时不支持含有 decimal/array/map 的字段,如果您的表中有这些字段,可以在查询分析中通过 select 语句查询,引擎会自动切换为 spark 引擎提供预览结果。
点击新建表,输入已建好的数据库和表名,并填写字段信息,点击提交完成建表。
创建内表的时候可以选择启用分层存储,若启动分层存储,则分区数据会在指定的 TTL 后自动删除,若以 DDL 形式创建内表,则可通过参数例如'ttl = 1'来配置过期时间,如果没有设置 ttl 参数则会继承库的 TTL 属性。
CREATE table IF NOT EXISTS las_test.ttl_test (id int, name int, age string) partitioned by(date string) stored as parquet TBLPROPERTIES('ttl' = '2')
库名列表里只会显示您目前有权限创建表的数据库,如果您目标的数据库不存在,您可以回到 Schema 管理页面,向对应的数据库申请建表权限。在建表时,可选的主键对表中每条记录进行唯一标识,勾选为主键的列将支持 UPSERT 能力。LAS 支持复合主键,可通过勾选多列设置复合主键。详细的情况可以参考 ACID 表的使用。
如果已经有表的 DDL 信息,也可以使用 DDL 建表方式来新建表。
方法一: 配置 TOSFullAccess 策略到对应子账户 访问这个页面 https://console.volcengine.com/iam/policymanage/System/TOSFullAccess 添加对应的子账户。
方法二: 配置自定义精细化的策略 。https://console.volcengine.com/iam/policymanage#custom 新建一个策略如 bigdata_policy
策略如下
{"Statement":\[{"Effect":"Allow","Action":\["tos:List\*","tos:Head\*","tos:AbortMultipartUpload"\],"Resource":\["trn:tos:::bucket\_a"\]},{"Effect":"Allow","Action":\["tos:GetObject\*","tos:DeleteObject\*","tos:PutObject\*"\],"Resource":\["trn:tos:::bucket\_a/my\_tospath\*"\]}\]}
然后找到对应的策略 https://console.volcengine.com/iam/policymanage/Custom 添加对应的子账户即可。
输入已建好的数据库和表名,并填写字段名称和字段类型,点击提交即可完成建表。 注:如果创建的 TOS 外表为分区表,需要在建表后手动点击 “刷新分区”,以加载新的分区。
用户在上一步中填入的 TOS 目录,在 LAS 中会映射为一张表,表中的数据是 TOS 中的文件内容。如果需要使用分区表,需要在 TOS 目录下新建子目录。
例如,以下是 TOS 中的目录结构:
TOS://bucket_a/table_a/year=2022/month=1/kv1.parquet TOS://bucket_a/table_a/year=2022/month=2/kv2.parquet
在 LAS 中创建分区表时,表目录为 /table_a ,有两个分区列,分别为 year 和 month。
CREATE EXTERNAL TABLE table_a ( name string, id bigint) PARTITIONED BY (year string, month string) stored as parquet LOCATION 'tos://bucket_a/table_a';
用户可以通过 UI 创建 Kafka 外表,以及支持连接信息的新建和使用。
1. 前置条件
2. 创建连接信息
创建 Kafka 连接信息入口:
参数说明:
3. 创建 Kafka 外表
Kafka Topic: 用户选择的连接信息所对应的 Kafka 实例下创建的 Topic。选择 Topic 后,会在数据预览框展示最新一条消息以及 LAS 推断出的表字段名称以及数据类型。用户可以对数据类型进行修改。
当操作者权限是 Admin 或者具有表删除权限时,删除按钮将可见,点击删除表按钮,会二次弹框进行确认。删除内表时,所有表的元数据和存储内容会被一并删除。删除外表时,如果外表的存储是在 TOS 上,则表的元数据信息会被删除,TOS 上的原始文件仍会保留。用户可以选择重新创建外表使得 TOS 数据重新可查。
注:使用刷新分区的前置条件:该表为外部表,且为分区表。 以下两种情况需要更新分区表的分区:
前往 数据管理-表管理 页面,点击表的 刷新分区,即可根据原始数据的目录结构,更新所有新加入的分区。
Q:删除外表时,TOS 的原始文件会被删除吗?
A:不会被删除。 删除外表时,元数据本身会被删除,外表将不可见,TOS 中您上传的文件仍然会被保留,您仍然可以通过创建表的页面或者指定 DDL 来新建外表。
Q 创建内表DDL中Precombine Key语法是什么含义?
A: Precombine Key用来指定主键表的排序字段,一般为业务时间戳。由于主键表的去重逻辑是在读取侧执行的,写入时不会对重复主键进行去重,因此在读取时如果碰到多个相同主键的数据,则需要一个排序字段对这些重复主键进行排序,最后取该字段值最大的一条作为排序结果。创建主键表时建议指定该字段,否则可能出现查询不符合预期的情况。