繁体   English   中英

如何在palantir代工厂中使用transform_df写回数据帧?

[英]How to writeback to dataframe using transform_df in palantir foundry?

我创建了一个用于更新输入数据集列的描述的库。 该函数以三个参数作为输入(input_dataset、output_dataset、config file)并最终写回输出数据集的描述。 所以现在我们想在各种用例中导入这个库。 如何处理那些我们正在编写 spark 转换的情况,即通过 transform_df 获取输入,因为在这里我们不能将输出分配给输出变量。 在这种情况下,我如何调用我的描述库函数? 如何在 palantir 铸造厂的这些情况下进行。 有什么建议?

使用@transform_df装饰器当前不支持此方法; 你现在必须使用@transform装饰器。

这背后的原因是认识到需要更广泛地访问元数据 API,例如@transform装饰器已经允许。 因此,将它保留在那里似乎更符合这种模式,因为@transform_df装饰器本质上是更高级别的。

您总是可以简单地从...

from transforms.api import transform_df, Input, Output


@transform_df(
  Output("/my/output"),
  my_input("/my/input"),
)
def my_compute_function(my_input):
  df = my_input
  # ... logic ....
  return my_input

...到...

from transforms.api import transform, Input, Output


@transform(
  my_output=Output("/my/output"),
  my_input=Input("/my/input")
)
def my_compute_function(my_input, my_output):
  df = my_input.dataframe()
  # ... logic ....
  my_output.write_dataframe(df)

...其中只需要更改 6 行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM