代码存储库 - pyspark 中代码存储库的 CTX 到底是什么?

Rob*_*t F 6 palantir-foundry foundry-code-repositories

我在代码仓库中看到了 ctx 的使用,这到底是什么?它是内置库吗?我什么时候会使用它?

我在以下示例中看到过它:

df = ctx.spark.createdataframe(...
Run Code Online (Sandbox Code Playgroud)

van*_*ser 3

对于代码存储库转换,您可以选择包含一个参数ctx,该参数使您可以更好地访问运行作业的底层基础设施。通常,您将访问用于从 Python 对象ctx.spark_session创建您自己的pyspark.sql.Dataframe对象的属性,例如:

from transforms.api import transform_df, Output
from pyspark.sql import types as T

@transform_df(
  Output=("/my/output")
)
def my_compute_function(ctx):

   schema = T.StructType(
     [
       T.StructField("name", T.StringType(), True)
     ]
   )
   return ctx.spark_session.createDataFrame([["Alex"]], schema=schema)

Run Code Online (Sandbox Code Playgroud)

您将在该类的文档中找到完整的 API 描述transforms.api.TransformContext,其中 和 等属性spark_session可供parameters您阅读。

注意:该spark_session属性的类型为pyspark.sql.SparkSession