如何在不使用tranform或tranform_df的情况下导入palantir铸造厂中的单个数据集 回答标题中的问题回答体内的问题:

问题描述

我想全局导入一个数据集,以便可以在文件中访问该数据集。 有什么方法可以在不使用Palantir Foundry代码存储库中使用transformtransform_df的情况下导入单个文件

基本上,我想从数据集中提取数据并返回列表中的所有值。如果我使用transform或transform_df装饰器,则在调用return函数时将无法访问该输入文件

或者还有其他方法可以通过使用一个数据帧作为Palantir代码存储库中函数的输入来返回值列表。

解决方法

该问题与该问题的意图近似(我已投票决定要结束):How to generate dynamic files using config file in palantir foundry

回答标题中的问题

您不能使用转换将数据集导入铸造厂。您需要改用数据连接并创建摄取。

回答体内的问题:

关于您另一个问题的回答:“如何在Palantir铸造厂中使用配置文件生成动态文件”。您不能以编程方式基于其他数据集的内容创建转换。这些数据集是在CI时间创建的。

但是,您可以在代码存储库中包含一个常量文件,该文件可以在CI时间读取,并使用该文件生成转换。即:

myconfig.py:
dataset_pairs = [
  {
    "in": "/path/to/input/dataset,"out": "/path/to/output/dataset,},{
    "in": "/path/to/input/dataset2,"out": "/path/to/output/dataset2,# ...
  {
    "in": "/path/to/input/datasetN,"out": "/path/to/output/datasetN,]

from myconfig import dataset_pairs

TRANSFORMS = []
for conf in dataset_pairs:
  @transform_df(Output(conf["out"]),my_input=Input(conf["in"]))
  def my_generated_transform(my_input)
     # ...
     return df

  TRANSFORMS.append(my_generated_transform)

要再次重申,您不能基于数据集的内容以编程方式创建config.py,因为运行此代码时,它是在CI时间,因此它无权访问数据集。