Lance-Ray 集成¶
欢迎阅读 Lance-Ray 文档!Lance-Ray 将 Ray 的分布式计算能力与高效的 Lance 存储格式相结合,从而实现可扩展的数据处理工作流并获得最佳性能。
功能¶
- 分布式 Lance 操作:利用 Ray 的分布式计算进行 Lance 数据集操作
- 无缝数据转换:Ray 数据集和 Lance 数据集之间轻松转换
- 优化 I/O:通过 Ray 集成高效读写 Lance 数据集
- Schema 验证:Ray 和 Lance 之间自动进行 Schema 兼容性检查
- 灵活过滤:支持对分布式 Lance 数据进行复杂过滤下推
- 数据演化:支持数据演化以添加新列,并使用 Ray UDF 分布式回填数据
- 目录集成:支持使用存储在各种目录服务(例如 Hive MetaStore、Iceberg REST Catalog、Unity、Gravitino、AWS Glue 等)中的 Lance 数据集
快速开始¶
安装¶
简单示例¶
import ray
from lance_ray import read_lance, write_lance
# Initialize Ray
ray.init()
# Create a Ray dataset
data = ray.data.range(1000).map(lambda row: {"id": row["id"], "value": row["id"] * 2})
# Write to Lance format
write_lance(data, "my_dataset.lance")
# Read Lance dataset back as Ray dataset
ray_dataset = read_lance("my_dataset.lance")
# Perform distributed operations
result = ray_dataset.filter(lambda row: row["value"] > 100).count()
print(f"Filtered count: {result}")