分类
devops

spark.plugins

spark plugins

Spark 3.0.0 发布了 Catalog Plugin API,这套 API 的设计比老的 Connector 更加高明,用户可以实现更加丰富的内容,比如:Catalog 和 Table。

  • --conf spark.plugins=org.apache.spark.CometPlugin
  • --conf spark.plugins=io.glutenproject.GlutenPlugin
  • --conf spark.plugins="org.apache.gravitino.spark.connector.plugin.GravitinoSparkPlugin"
  • --conf spark.plugins=org.apache.spark.CometPlugin

spark.sql.extensions

  • --conf spark.sql.extensions=org.apache.kyuubi.sql.KyuubiSparkSQLExtension
  • --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
  • --conf spark.sql.extensions=org.apache.spark.sql.dialect.KyuubiSparkJdbcDialectExtension
  • --conf spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension
  • --conf spark.sql.extensions=org.apache.paimon.spark.extensions.PaimonSparkSessionExtensions

spark.sql.queryExecutionListeners

在spark的源码中,以Scala的形式提供了一个org.apache.spark.sql.util.QueryExecutionListener trait (类似Java 语言的接口),来作为Spark SQL等任务执行的监听器。在org.apache.spark.sql.util.QueryExecutionListener 中提供了 onSuccess 和 onFailure 两个方法。

  • spark.sql.queryExecutionListeners=org.apache.kyuubi.plugin.lineage.SparkOperationLineageQueryExecutionListener
  • spark.sql.queryExecutionListeners=za.co.absa.spline.harvester.listener.SplineQueryExecutionListener

DSv2

DSv2, Spark’s next-generation Catalog API

Iceberg 使用 Apache Spark 的 DataSourceV2 API 进行数据源和目录实现。

Spark 4.0 中的数据源 V2 (DSV2) 增强了数据源 API,提供了更好的性能和约束支持等功能。它专为自定义数据源而设计,取代旧的 API,对于高级数据集成至关重要。

workdir

/opt/bitnami/spark/work/app-{application-id}/{executor-id}

spark一些可以扩展的参数

spark.plugins
spark.extraListeners
spark.sql.extensions
spark.sql.queryExecutionListeners
spark.sql.streaming.streamingQueryListeners
spark.shuffle.manager
spark.shuffle.sort.io.plugin.class
spark.sql.extendedExplainProviders
spark.connect.extensions.relation.classes
spark.connect.extensions.expression.classes
spark.connect.extensions.command.classes

spark.sql.optimizer.excludedRules
spark.sql.adaptive.optimizer.excludedRules

ref