问题描述
我想全局导入一个数据集,以便可以在文件中访问该数据集。
有什么方法可以在不使用Palantir Foundry代码存储库中使用transform
或transform_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时间,因此它无权访问数据集。