You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MLRun中能否删除Parquet与NoSQL Target中的特定数据项?

MLRun 1.2.1 删除Parquet/NoSQL Target中的特定数据项

Parquet Target 处理方案

Parquet属于列式 immutable 存储,本身不支持直接删除单条/特定数据项,需通过读取-过滤-重写的间接方式实现:

  • 读取目标Parquet数据集到DataFrame
  • 过滤掉需要删除的特定数据(通过主键或其他条件筛选)
  • 将过滤后的DataFrame重写入Parquet Target,开启覆盖模式

示例代码:

import mlrun
import pandas as pd

# 加载项目与特征集
project = mlrun.get_project("your-project")
fs = mlrun.feature_store.get_feature_set("your-feature-set", project=project.name)

# 读取特征数据
df = fs.read()

# 过滤要删除的数据(示例:删除id为'123'的记录)
filtered_df = df[df['id'] != '123']

# 重写回Parquet Target,覆盖原数据
mlrun.feature_store.write(
    featureset=fs,
    df=filtered_df,
    target=mlrun.feature_store.ParquetTarget(),
    overwrite=True
)

如果是分区Parquet数据集,可仅处理目标分区,减少数据处理量。

NoSQL Target 处理方案

MLRun 1.2.1的Feature Store API未提供直接删除特定数据项的接口,需直接操作底层NoSQL客户端(以Redis、MongoDB为例):

Redis 示例

import mlrun
import redis

# 获取特征集的NoSQL Target配置
fs = mlrun.feature_store.get_feature_set("your-feature-set", project="your-project")
nosql_target = next(t for t in fs.spec.targets if t.kind == "nosql")

# 初始化Redis客户端
redis_client = redis.Redis(
    host=nosql_target.spec.connection.host,
    port=nosql_target.spec.connection.port,
    password=nosql_target.spec.connection.password
)

# 构造MLRun存储的键格式:<feature-set-name>.<主键值>
target_key = f"{fs.metadata.name}.123"
# 删除特定数据项
redis_client.delete(target_key)

MongoDB 示例

import mlrun
from pymongo import MongoClient

fs = mlrun.feature_store.get_feature_set("your-feature-set", project="your-project")
nosql_target = next(t for t in fs.spec.targets if t.kind == "nosql")

# 初始化MongoDB客户端
client = MongoClient(nosql_target.spec.connection.uri)
collection = client[nosql_target.spec.db_name][fs.metadata.name]

# 根据主键删除数据(主键字段名以你的特征集定义为准)
collection.delete_one({"_id": "123"})

注意事项

  • 操作前务必备份数据,避免误删
  • Parquet重写会替换整个数据集,大体积数据建议分区处理
  • NoSQL存储的键/主键格式需与MLRun存储时一致,可通过查看存储数据确认格式

内容的提问来源于stack exchange,提问作者XiongChan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 13:30:06