我想全局导入一个数据集,以便我可以访问文件中的数据集。有什么方法可以在不使用transform
或transform_df
在 Palantir Foundry 代码库中导入单个文件。
基本上我想从数据集中提取数据并返回列表中的所有值。如果我使用 transform 或 transform_df 装饰器,那么在调用返回函数时我将无法访问该输入文件。
或者是否有任何其他方法可以通过使用一个数据帧作为 palantir 代码存储库中函数的输入来返回值列表。
我想全局导入一个数据集,以便我可以访问文件中的数据集。有什么方法可以在不使用transform
或transform_df
在 Palantir Foundry 代码库中导入单个文件。
基本上我想从数据集中提取数据并返回列表中的所有值。如果我使用 transform 或 transform_df 装饰器,那么在调用返回函数时我将无法访问该输入文件。
或者是否有任何其他方法可以通过使用一个数据帧作为 palantir 代码存储库中函数的输入来返回值列表。
这个问题在意图上与这个问题非常相似(我已经投票关闭):How to generate dynamic files using config file in palantir foundry
您不能使用转换将数据集导入铸造厂。您需要改用数据连接并创建摄取。
正如您在“如何生成动态文件使用配置文件在 palantir-foundry”的其他问题上所回答的那样。您不能以编程方式基于其他数据集的内容创建转换。数据集是在 CI 时创建的。
但是,您可以在代码仓库中拥有一个常量文件,该文件可以在 CI 时读取,并使用它来生成转换。IE:
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 时间,因此它无权访问数据集。