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
# 构建并跳过仪表板
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 表的正常使用。
典型生态项目
Flink 集成
Amoro 提供了 Flink 连接器,支持在 Flink 中使用 Mixed 格式表。
<dependency>
<groupId>org.apache.amoro</groupId>
<artifactId>amoro-mixed-format-flink</artifactId>
<version>0.1.0</version>
</dependency>
Spark 集成
Amoro 提供了 Spark 连接器,支持在 Spark 中使用 Mixed 格式表。
<dependency>
<groupId>org.apache.amoro</groupId>
<artifactId>amoro-mixed-format-spark</artifactId>
<version>0.1.0</version>
</dependency>
Trino 集成
Amoro 提供了 Trino 连接器,支持在 Trino 中使用 Mixed 格式表。
<dependency>
<groupId>org.apache.amoro</groupId>
<artifactId>amoro-mixed-format-trino</artifactId>
<version>0.1.0</version>
</dependency>
通过以上步骤,您可以快速启动并使用 Apache Amoro (incubating) 项目,结合实际应用案例和最佳实践,以及与典型生态项目的集成,实现高效的数据湖管理。