如何在代工厂转换中读取和写入列描述和类型类?

问题描述

我想从我的上游数据集中读取列描述和类型类,然后我想简单地将它们传递给我的下游数据集。

如何在 Python 转换中执行此操作?

解决方法

如果您将存储库升级到至少 1.206.0,您将能够访问 Transforms Python API 中的一项新功能:读取描述 > 类型类。对于可见性,这个问题也与this one

高度相关

column_descriptions 属性返回结构化的 Dict<str,List<Dict<str,str>>>,例如 tags 列将具有 {'tags': [{"name": "my_name","kind": "my_kind"}]} 的 column_typeclasses 对象。类型类总是由两个组件组成,一个 name 和一个 kind,它出现在上面显示的列表的每个字典中。这个dict中只能传入两个key,每个key对应的值必须是str。

此功能的完整文档正在编写中,敬请期待。

from transforms.api import transform,Input,Output


@transform(
    my_output=Output("ri.foundry.main.dataset.my-output-dataset"),my_input=Input("ri.foundry.main.dataset.my-input-dataset"),)
def my_compute_function(my_input,my_output):
    recent = my_input.dataframe().limit(10)

    existing_typeclasses = my_input.column_typeclasses
    existing_descriptions = my_input.column_descriptions

    my_output.write_dataframe(
        recent,column_descriptions=existing_descriptions,column_typeclasses=existing_typeclasses
    )