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

如何在Palantir Foundry中将Compass文件夹内PDF复制到数据集文件系统

在Palantir Foundry中从Compass复制PDF到非结构化数据集的实现方案

可以在Transform中完成这个操作,无需依赖代码库导入,以下是具体实现步骤和代码示例:

1. 利用已配置的Compass File Lister获取文件元数据

你已配置的Compass File Lister会输出一个结构化数据集,每一行对应一个Compass中的PDF文件,包含核心字段:

  • rid:Compass文件的唯一标识符
  • name:文件原始名称
  • 可选元数据(如文件大小、创建时间等)

将这个数据集作为Transform的输入源。

2. 在Python Transform中实现文件复制

使用Foundry Python SDK提供的compass和datasets模块,直接读取Compass文件的字节流并写入目标非结构化数据集——不要用shutil操作本地文件路径,因为Compass文件存储在Blobster分布式存储中,并非本地文件系统。

完整代码示例

from transforms.api import transform, Input, Output
from foundry import compass, datasets
import shutil

@transform(
    # 替换为你的Compass File Lister输出数据集路径
    input_compass_files=Input("/your/path/to/compass-file-lister-output"),
    # 替换为你的目标非结构化数据集路径
    output_unstructured=Output("/your/path/to/target-unstructured-dataset")
)
def copy_compass_pdfs_to_dataset(input_compass_files, output_unstructured):
    # 将输入数据集转换为Pandas DataFrame以便遍历
    file_records = input_compass_files.dataframe().toPandas()
    
    for _, file_info in file_records.iterrows():
        file_rid = file_info["rid"]
        file_name = file_info["name"]
        
        try:
            # 通过Compass RID获取文件对象并打开二进制读取流
            with compass.get_file(file_rid).open("rb") as source_stream:
                # 在目标非结构化数据集中创建文件并打开二进制写入流
                with output_unstructured.filesystem().open(file_name, "wb") as target_stream:
                    # 分块复制文件内容(适合大文件,避免内存溢出)
                    shutil.copyfileobj(source_stream, target_stream)
            print(f"成功复制文件: {file_name}")
        except Exception as e:
            print(f"复制文件 {file_name} 失败: {str(e)}")

关键说明

  • 权限要求:确保Transform的运行身份拥有:
    • Compass文件夹及文件的读取权限
    • 目标非结构化数据集的写入权限
  • 大文件优化:使用shutil.copyfileobj分块读写,避免一次性加载大文件到内存,提升稳定性和性能
  • 关于官方文档:你查阅的「read files in a repository」针对的是代码库(Code Repositories),确实不适用于Compass文档存储,无需参考;Compass原生API仅支持内部文件夹操作,但通过Transform SDK可以实现跨存储层的字节流复制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 13:02:28