Pyspark 如何在palantir foundry中使用transform_df写回数据帧?
我创建了一个库来更新输入数据集列的描述。此函数将三个参数作为输入(输入数据集、输出数据集、配置文件),并最终写回输出数据集的描述。所以现在我们想跨各种用例导入这个库。如何处理我们正在编写spark转换的情况,即通过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装饰器 这背后的原因是认识到
@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行代码