Kyuubi-Arctic Playground 开源项目指南
目录结构及介绍
Kyuubi-Arctic playground 是一个集成演示项目,主要展示如何在不同的数据存储系统(如Hive/HDFS, Iceberg, Hudi, Delta Lake)上运行Kyuubi SQL引擎。以下是这个项目的目录结构及其说明:
docker
: 包含用于设置Docker环境的所有Dockerfile和相关脚本。lakehouse-benchmark
: 包括基准测试相关的代码和配置,可用于性能评估或数据生成。kyuubi-arctic-playground
: 可能是主要的应用程序目录,具体取决于实际仓库布局。
Docker
在此目录下,可以找到以下重要组件:
- Dockerfiles: 这些文件定义了构建Docker镜像时使用的环境层和软件安装步骤。
- start.sh: 启动容器和服务的脚本。
- run-tests.sh: 执行自动化测试的脚本。
lakehouse-benchmark
该部分可能包括各种数据湖基准测试工具,例如TPC-C基准测试的数据生成器和执行器。
项目的启动文件介绍
项目的启动通常涉及到多个服务的初始化,这通常是通过位于docker
目录下的脚本来完成的。start.sh
脚本是关键的启动命令之一,它负责启动所有必要的服务。下面是一些典型的启动操作示例:
-
MySQL 数据生成:
docker exec -it mysql-datagen \ java -jar lakehouse-benchmark.jar \ -b tpcc chbenchmark \ -c config/mysql/sample_chbenchmark_config.xml \ --create=true --load=true
-
CDC Service (Change Data Capture):
docker exec -it mysql-arctic-cdc \ java -cp lakehouse-benchmark-ingestion.jar \ com.netease.arctic.benchmark.ingestion.MainRunner \ -confDir /opt/lakehouse_benchmark_ingestion/conf \ -sinkType arctic -sinkDatabase arctic_db
-
启动 Kyuubi 和 Beeline 客户端连接:
docker exec -it kyuubi
配置文件介绍
配置文件主要用于调整服务行为,特别是在数据加载、存储方式选择以及数据库连接等场景中。config
目录下的.xml
文件(例如mysql/sample_chbenchmark_config.xml
)包含了对特定数据库的各种参数设定,这些参数决定了数据如何被生成和读取的方式。
示例配置:MySQL 的 TPC-C 基准测试
<!-- config/mysql/sample_chbenchmark_config.xml -->
<configuration>
<property>
<name>warehouse.dir</name>
<value>/usr/local/hadoop/tpch/dbgen/output</value>
</property>
<!-- 其他属性... -->
</configuration>
以上配置展示了如何指定数据仓库的位置,这对于数据生成非常重要。此外,还有许多其他配置项可以控制工作负载的细节,确保其符合基准测试的要求。