代码存储库 - pyspark 中用于代码存储库的 CTX 究竟是什么?

Code Repository - What exactly is CTX in pyspark for a code repo?

我在代码库中看到了ctx的使用,这到底是什么?它是一个内置的图书馆吗?我什么时候使用它?

我在下面的示例中看到过它:

df = ctx.spark.createdataframe(...

对于代码存储库转换,您可以选择包含一个参数 ctx,这使您可以更多地访问底层基础设施 运行 您的工作。通常,您将访问 ctx.spark_session 属性以从 Python 对象创建您自己的 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)

您将在 transforms.api.TransformContext class 的文档中找到完整的 API 描述,其中 spark_sessionparameters 等属性可用供您阅读。

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