【问题标题】:How can I create an empty dataset from on a PySpark schema in Palantir Foundry?如何从 Palantir Foundry 的 PySpark 模式创建一个空数据集?
【发布时间】:2022-08-19 00:54:18
【问题描述】:

我有一个 PySpark 模式,它描述了数据集的列及其类型(我可以手动编写,或者通过转到“列”选项卡,然后转到“复制 PySpark 模式”,从现有数据集中获取)。

我想要一个具有此模式的空数据集,例如,它可以用作仅写回本体对象的支持数据集。如何在 Foundry 中创建它?

    标签: palantir-foundry foundry-code-repositories


    【解决方案1】:

    您可以使用 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)
    

    【讨论】:

      猜你喜欢
      • 2022-07-06
      • 2022-07-06
      • 2021-03-14
      • 2022-07-05
      • 2022-07-14
      • 1970-01-01
      • 2021-01-27
      • 2021-02-19
      • 2022-06-27
      相关资源
      最近更新 更多