0

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

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

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

4

1 回答 1

1

这个问题在意图上与这个问题非常相似(我已经投票关闭):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 时间,因此它无权访问数据集。

于 2020-10-30T08:27:44.137 回答