【发布时间】:2022-08-19 00:54:18
【问题描述】:
我有一个 PySpark 模式,它描述了数据集的列及其类型(我可以手动编写,或者通过转到“列”选项卡,然后转到“复制 PySpark 模式”,从现有数据集中获取)。
我想要一个具有此模式的空数据集,例如,它可以用作仅写回本体对象的支持数据集。如何在 Foundry 中创建它?
标签: palantir-foundry foundry-code-repositories
我有一个 PySpark 模式,它描述了数据集的列及其类型(我可以手动编写,或者通过转到“列”选项卡,然后转到“复制 PySpark 模式”,从现有数据集中获取)。
我想要一个具有此模式的空数据集,例如,它可以用作仅写回本体对象的支持数据集。如何在 Foundry 中创建它?
标签: palantir-foundry foundry-code-repositories
您可以使用 Spark 上下文创建一个空数据集,以使用架构创建数据框,例如:
from pyspark.sql import types as T
from transforms.api import transform_df, configure, Output
SCHEMA = T.StructType([
T.StructField('entity_name', T.StringType()),
T.StructField('thing_value', T.IntegerType()),
T.StructField('created_at', T.TimestampType()),
])
# Given there is no work to do, save on compute by running it on the driver
@configure(profile=["KUBERNETES_NO_EXECUTORS"])
@transform_df(
Output("/some/dataset/path/or/rid"),
)
def compute(ctx):
return ctx.spark_session.createDataFrame([], schema=SCHEMA)
【讨论】: