跳到内容

Lance 表格入门

本快速入门指南将引导您了解 Lance 的核心功能,包括创建数据集、版本控制和向量搜索。

通过本教程,您将能够从 pandas DataFrames 创建 Lance 数据集,并将现有的 Parquet 文件转换为 Lance 格式。您还将了解使用 Lance 数据集的基本工作流程,并准备好探索版本控制和向量搜索等高级功能。

安装 Python SDK

开始使用 Lance 最简单的方法是使用我们的 Python SDK pylance

pip install pylance

要获取最新功能和错误修复,您可以安装预览版本

pip install --pre --extra-index-url https://pypi.fury.io/lancedb/pylance

注意:预览版本与常规版本接受相同级别的测试。

设置您的环境

首先,让我们导入必要的库

import shutil
import lance
import numpy as np
import pandas as pd
import pyarrow as pa

创建您的第一个数据集

Lance 基于 Apache Arrow 构建,因此可以非常轻松地处理 pandas DataFrames 和 Arrow 表。您可以从各种数据源创建 Lance 数据集,包括 pandas DataFrames、Arrow 表和现有 Parquet 文件。Lance 会自动为您处理转换和优化。

创建一个简单的数据集

您将创建一个简单的 dataframe,然后将其写入 Lance 格式。这演示了创建 Lance 数据集的基本工作流程。

创建一个简单的 dataframe

df = pd.DataFrame({"a": [5]})
df

现在您将把这个 dataframe 写入 Lance 格式,并验证数据是否正确保存

shutil.rmtree("/tmp/test.lance", ignore_errors=True)

dataset = lance.write_dataset(df, "/tmp/test.lance")
dataset.to_table().to_pandas()

转换您现有的 Parquet 文件

您将把现有的 Parquet 文件转换为 Lance 格式。这展示了如何将现有数据迁移到 Lance。

首先,您将创建一个 Parquet 文件,然后将其转换为 Lance

shutil.rmtree("/tmp/test.parquet", ignore_errors=True)
shutil.rmtree("/tmp/test.lance", ignore_errors=True)

tbl = pa.Table.from_pandas(df)
pa.dataset.write_dataset(tbl, "/tmp/test.parquet", format='parquet')

parquet = pa.dataset.dataset("/tmp/test.parquet")
parquet.to_table().to_pandas()

现在您将在一行代码中将 Parquet 数据集转换为 Lance 格式

dataset = lance.write_dataset(parquet, "/tmp/test.lance")

# Make sure it's the same
dataset.to_table().to_pandas()

后续步骤

现在您已经掌握了创建 Lance 数据集的基础知识,接下来可以探索以下内容