作者:微信小助手
发布时间:2024-09-12T23:29:18
Lakehouse 管理系统

一、架构图

Amoro 为用户、平台和产品构建湖原生数据仓库和架构
二、主要特点
1、自我优化
持续优化表,包括压缩小文件,变更文件,定期删除过期文件,以保持较高的查询性能并降低存储成本。
2、目录服务
为所有计算引擎提供统一的目录服务,并可与现有的元数据存储服务(如Hive Metastore、AWS Glue)一起使用。
3、管理工具
提供多种管理工具,包括WEB UI和标准SQL命令行,帮助您更快上手并更轻松地与其他系统集成。
4、多种格式
支持Iceberg、Paimon、Mixed-Iceberg、Mixed-Hive等不同的表格式,满足不同的场景需求,并提供统一的管理能力。
5、丰富的插件
提供各种插件以便与其他系统集成,例如使用 Flink 进行持续优化以及使用 Spark 和 Kyuubi 进行数据分析。
6、独立于基础设施
可在私有环境、云环境、混合云环境、多云环境中轻松部署和使用。
7、支持多处理引擎

三、快速入门
快速体验其核心功能。您可以选择使用或Iceberg Format来Mixed-Iceberg Format完成整个过程。在开始快速演示之前,需要执行一些步骤来准备环境。最快的入门方法是使用使用 apache/amoro 映像的 docker-compose 文件。要使用它,您需要安装 Docker CLI以及Docker Compose CLI。
拥有这些之后,将下面的 yaml 保存到名为 docker-compose.yml 的文件中:
version: "3"services:minio:image: minio/miniocontainer_name: minioenvironment:- MINIO_ROOT_USER=admin- MINIO_ROOT_PASSWORD=password- MINIO_DOMAIN=minionetworks:amoro_network:aliases:- warehouse.minioports:- 9001:9001- 9000:9000command: [ "server", "/data", "--console-address", ":9001" ]mc:depends_on:- minioimage: minio/mccontainer_name: mcnetworks:amoro_network:environment:- AWS_ACCESS_KEY_ID=admin- AWS_SECRET_ACCESS_KEY=password- AWS_REGION=us-east-1entrypoint: >/bin/sh -c "until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done;/usr/bin/mc rm -r --force minio/warehouse;/usr/bin/mc mb minio/warehouse;/usr/bin/mc policy set public minio/warehouse;tail -f /dev/null"amoro:image: apache/amorocontainer_name: amoroports:- 8081:8081- 1630:1630- 1260:1260environment:- JVM_XMS=1024networks:amoro_network:aliases:- warehouse.miniovolumes:- ./amoro:/tmp/warehousecommand: ["/entrypoint.sh", "ams"]tty: truestdin_open: truenetworks:amoro_network:driver: bridge
接下来,使用以下命令启动 docker 容器:
docker-compose up
3.1、准备步骤
在浏览器中打开
http://localhost:1630
用户名/密码:admin/admin ,输入即可登录仪表盘。
点击Optimizing侧边栏的 ,选择Optimizer Groups并点击Add Group按钮在创建目录之前创建一个新组:

点击Catalogs侧边栏的 ,点击+Catalog List下的按钮,创建一个测试目录,并将其命名为demo_catalog:


将优化器的并发度设置为1,然后单击OK。
然后你可以切换到标签页Optimizers,你可以在这里找到新启动的优化器。

3.2、演示
3.2.1、初始化
点击Terminal侧边栏的 ,你可以在这里使用 SQL 创建测试表。终端目前支持执行 Spark SQL 语句。

点击RUNSQL编辑器上方的按钮,等待SQL查询执行完毕,即可在SQL编辑器下看到查询结果。
3.2.2、改变数据
在中逐个执行以下 SQL 语句Terminal:
-- insert a few rows firstINSERT INTO db.user (id, name, ts) VALUES (4, 'rock', CAST('2022-07-02 01:11:20' AS TIMESTAMP));INSERT INTO db.user (id, name, ts) VALUES (5, 'jack', CAST('2022-07-02 05:22:10' AS TIMESTAMP));INSERT INTO db.user (id, name, ts) VALUES (6, 'mars', CAST('2022-07-02 08:23:20' AS TIMESTAMP));INSERT INTO db.user (id, name, ts) VALUES (7, 'cloe', CAST('2022-07-02 08:44:50' AS TIMESTAMP));INSERT INTO db.user (id, name, ts) VALUES (8, 'smith', CAST('2022-07-02 10:52:20' AS TIMESTAMP));INSERT INTO db.user (id, name, ts) VALUES (9, 'piec', CAST('2022-07-02 11:24:30' AS TIMESTAMP));INSERT INTO db.user (id, name, ts) VALUES (10, 'vovo', CAST('2022-07-02 12:00:20' AS TIMESTAMP));-- delete some rows thenDELETE FROM db.user where id = 1;DELETE FROM db.user where id = 4;DELETE FROM db.user where id = 7;-- query the tableSELECT * from db.user;
3.2.3、检查自我

您也可以Optimizing通过侧边栏进入页面,查看当前所有表的优化状态。

四、官网地址:
官网地址
https://amoro.apache.org/