DuckLake入门指南:5分钟快速上手集成数据湖
DuckLake是一个基于SQL和Parquet构建的开源Lakehouse格式,它将元数据存储在目录数据库中,并以Parquet文件格式存储数据。通过DuckLake扩展,DuckDB可以直接读写DuckLake数据,为数据湖管理提供了简单高效的解决方案。
快速安装DuckLake扩展 🚀
DuckLake可以通过简单的SQL命令安装,适合所有技能水平的用户:
INSTALL ducklake;
如果需要体验最新开发版本,可以从core_nightly安装:
FORCE INSTALL ducklake FROM core_nightly;
5分钟上手使用教程 ✨
1. 连接DuckLake数据库
使用ATTACH命令连接DuckLake数据库,指定元数据存储位置和数据路径:
ATTACH 'ducklake:metadata.ducklake' AS my_ducklake (DATA_PATH 'file_path/');
USE my_ducklake;
2. 创建并操作表
创建表并插入数据,完全使用标准SQL语法:
CREATE TABLE my_table(id INTEGER, val VARCHAR);
INSERT INTO my_table VALUES (1, 'Hello'), (2, 'World');
查询数据:
FROM my_table;
┌───────┬─────────┐
│ id │ val │
│ int32 │ varchar │
├───────┼─────────┤
│ 1 │ Hello │
│ 2 │ World │
└───────┴─────────┘
3. 轻松更新数据
DuckLake支持标准SQL更新操作,无需复杂的数据湖维护流程:
UPDATE my_table SET val='DuckLake' WHERE id=2;
更新后查询:
FROM my_table;
┌───────┬──────────┐
│ id │ val │
│ int32 │ varchar │
├───────┼──────────┤
│ 1 │ Hello │
│ 2 │ DuckLake │
└───────┴──────────┘
4. 强大的时间旅行功能 ⏳
通过版本号轻松访问历史数据,实现数据回溯和审计:
FROM my_table AT (VERSION => 2);
┌───────┬─────────┐
│ id │ val │
│ int32 │ varchar │
├───────┼─────────┤
│ 1 │ Hello │
│ 2 │ World │
└───────┴─────────┘
5. 灵活的 schema 演进
无需中断服务即可添加新列,实现无缝的 schema 变更:
ALTER TABLE my_table ADD COLUMN new_column VARCHAR;
查看变更结果:
FROM my_table;
┌───────┬──────────┬────────────┐
│ id │ val │ new_column │
│ int32 │ varchar │ varchar │
├───────┼──────────┼────────────┤
│ 1 │ Hello │ NULL │
│ 2 │ DuckLake │ NULL │
└───────┴──────────┴────────────┘
从源码构建DuckLake 🔨
如果需要从源码构建,可以按照以下步骤操作:
git clone https://gitcode.com/gh_mirrors/du/ducklake
cd ducklake
git submodule init
git submodule update
make pull
make
运行构建后的DuckDB shell:
./build/release/duckdb
探索更多功能
DuckLake还提供了变更数据捕获、分区管理等高级功能,详细使用指南请参考项目文档。通过简单的SQL命令,你可以轻松管理复杂的数据湖场景,体验高效、灵活的数据管理方式。
开始你的DuckLake数据湖之旅,享受SQL带来的强大数据管理能力吧! 🌟
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



