如何在没有 my_compute_function 的情况下访问数据框

how to access the data frame without my_compute_function

如何在没有my_compute_function的情况下使用数据集。从存储库中的 file1,我想调用另一个文件中定义的函数。在第二个文件中,我想使用数据集my_input_integration,可能没有my_compute_function。如何合并来自两个不同存储库文件的数据集。我不想合并到一个文件中,因为我想将第二个文件用作实用程序文件。如果有人能回答这个问题就太好了。

存储库文件 1

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):
    return calling_function(my_input, my_output)

存储库文件 2

from transforms.api import transform, Input, Output


@transform(
    my_input_integration =Input("/my/input"),
)
def calling_function(my_input, my_output, my_input_integration??)
   
    return my_output.write_dataframe(
        my_input.dataframe(),
        column_descriptions=my_dictionary
    )

如果我正确理解了您要实现的目标,您不能直接这样做——任何对转换的输入都必须在该转换中定义,然后传递到实用函数中,您可以' t“注入”输入。

所以实现你想要的最直接的方法是做这样的事情:

文件 1:

@transform(
    my_output=Output("/my/output"),
    my_input=Input("/my/input"),
    my_input_integration=Input("/my/input_integration"),
)
def my_compute_function(my_input, my_output, my_input_integration):
    return calling_function(my_input, my_output, my_input_integration)

文件 2:

def calling_function(my_input, my_output, my_input_integration)
    return my_output.write_dataframe(
        my_input.dataframe(),
        column_descriptions=my_dictionary
    )

如果你真的认为你需要自动“注入”数据集的能力,并且将它们作为参数添加到你的转换中太麻烦了,那么可以采取更复杂的方法来定义一个自定义包装器您应用于使输入数据集自动可用的转换函数。不过,我真的会避免这种情况,因为它给代码增加了很多复杂性和“魔力”,对于新手和普通人来说很难理解 reader.