Pyspark 如何在palantir foundry中使用transform_df写回数据帧?

Pyspark 如何在palantir foundry中使用transform_df写回数据帧?,pyspark,palantir-foundry,foundry-code-repositories,Pyspark,Palantir Foundry,Foundry Code Repositories,我创建了一个库来更新输入数据集列的描述。此函数将三个参数作为输入(输入数据集、输出数据集、配置文件),并最终写回输出数据集的描述。所以现在我们想跨各种用例导入这个库。如何处理我们正在编写spark转换的情况,即通过transform_df获取输入,因为这里我们不能将输出分配给输出变量。在这种情况下,如何调用我的描述库函数?如何在帕兰蒂尔铸造厂的这种情况下继续进行。有什么建议吗?使用@transform\u df装饰器当前不支持此方法;您现在必须使用@transform装饰器 这背后的原因是认识到

我创建了一个库来更新输入数据集列的描述。此函数将三个参数作为输入(输入数据集、输出数据集、配置文件),并最终写回输出数据集的描述。所以现在我们想跨各种用例导入这个库。如何处理我们正在编写spark转换的情况,即通过transform_df获取输入,因为这里我们不能将输出分配给输出变量。在这种情况下,如何调用我的描述库函数?如何在帕兰蒂尔铸造厂的这种情况下继续进行。有什么建议吗?

使用
@transform\u df
装饰器当前不支持此方法;您现在必须使用
@transform
装饰器

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

您总是可以简单地将转换从

from transforms.api导入转换\u df,输入,输出
@变换(
输出(“/my/Output”),
我的输入(“/my/input”),
)
定义my_compute_函数(my_输入):
df=我的输入
# ... 逻辑。。。。
返回我的输入
…到

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行代码。

使用
@transform\u df
装饰器当前不支持此方法;您现在必须使用
@transform
装饰器

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

您总是可以简单地将转换从

from transforms.api导入转换\u df,输入,输出
@变换(
输出(“/my/Output”),
我的输入(“/my/input”),
)
定义my_compute_函数(my_输入):
df=我的输入
# ... 逻辑。。。。
返回我的输入
…到

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行代码