Apache Amoro (incubating) 使用教程
项目介绍
Apache Amoro (incubating) 是一个基于开放数据湖格式的 Lakehouse 管理系统。它与包括 Flink、Spark 和 Trino 在内的计算引擎协同工作,为 Lakehouse 提供可插拔和自管理的特性,从而提供开箱即用的数据仓库体验。Amoro 帮助数据平台或产品轻松构建基础设施解耦、流批融合和湖原生架构。
项目快速启动
环境准备
- JDK 8 或 JDK 17(仅针对 amoro-mixed-format/amoro-mixed-format-trino 模块)
- Maven
构建项目
# 克隆项目
git clone https://github.com/apache/amoro.git
cd amoro
# 构建所有模块,不包括 amoro-mixed-format-trino
mvn clean package
# 构建并跳过测试
mvn clean package -DskipTests
# 构建并跳过 dashboard
mvn clean package -Pskip-dashboard-build
启动服务
# 启动 Amoro Management Service
cd amoro-ams-server
mvn exec:java
应用案例和最佳实践
案例一:流批融合架构
Amoro 支持流批融合架构,通过使用 Mixed-Iceberg 格式,用户可以在流处理和批处理之间无缝切换,提高数据处理的灵活性和效率。
案例二:数据湖升级
许多用户希望在使用数据湖的同时不影响原有基于 Hive 的业务。Amoro 提供的 Mixed-Hive 格式可以通过元数据迁移将 Hive 表升级为 Mixed-Hive 格式,同时保持原有 Hive 表的正常使用。
典型生态项目
Apache Flink
Amoro 与 Apache Flink 紧密集成,提供 Flink 连接器,支持在 Flink 中使用 Mixed 格式表。
Apache Spark
Amoro 提供 Spark 连接器,支持在 Spark 中使用 Mixed 格式表,实现高效的批处理和流处理。
Apache Trino
Amoro 支持 Trino 连接器,允许用户在 Trino 中查询和管理 Mixed 格式表,提供高性能的查询体验。
通过以上教程,您可以快速了解和使用 Apache Amoro (incubating),构建高效、灵活的数据湖和 Lakehouse 架构。