使用 Lance 对数据集进行版本控制¶
Lance 原生支持版本控制,让您可以跟踪随时间的变化。
在本教程中,您将学习如何将新数据追加到现有数据集,同时保留历史版本,以及如何使用版本号或有意义的标签访问特定版本。您还将了解如何利用 Lance 的原生版本控制功能实施适当的数据治理实践。
安装 Python SDK¶
设置您的环境¶
首先,您应该导入必要的库
向数据集中追加新数据¶
您可以向现有数据集添加新行,创建一个新版本,同时保留原始数据。以下是如何追加行
df = pd.DataFrame({"a": [10]})
tbl = pa.Table.from_pandas(df)
dataset = lance.write_dataset(tbl, "/tmp/test.lance", mode="append")
dataset.to_table().to_pandas()
覆盖您的数据集¶
您可以用新数据完全替换您的数据集,创建一个新版本,同时保持旧版本可访问。
以下是如何覆盖数据并创建新版本
df = pd.DataFrame({"a": [50, 100]})
tbl = pa.Table.from_pandas(df)
dataset = lance.write_dataset(tbl, "/tmp/test.lance", mode="overwrite")
dataset.to_table().to_pandas()
访问之前的数据集版本¶
您还可以检查哪些版本可用,然后访问数据集的特定版本。
使用此请求列出数据集的所有版本
您也可以访问任何可用版本
# Version 1
lance.dataset('/tmp/test.lance', version=1).to_table().to_pandas()
# Version 2
lance.dataset('/tmp/test.lance', version=2).to_table().to_pandas()
标记您的重要版本¶
为重要版本创建命名标签,使通过有意义的名称引用特定版本变得更容易。要为相关版本创建标签,请执行此操作
标签可以像版本一样被签出
后续步骤¶
现在您已经掌握了使用 Lance 进行数据集版本控制,请查看 使用 Lance 进行向量索引和向量搜索。您可以学习如何在 Lance 表上构建高性能的向量搜索功能。
这将教您如何为您的版本化数据集构建快速、可扩展的搜索功能。