apache-spark - Azure 突触 Apache Spark : Pipeline level spark configuration

标签 apache-spark pyspark azure-synapse

尝试为整个 azure 突触管道配置 spark,发现 Spark session config magic commandHow to set Spark / Pyspark custom configs in Synapse Workspace spark pool . %%configure 魔术命令适用于单个 笔记本。示例:

在笔记本的开头插入包含以下内容的单元格

%%configure -f
{
    "driverMemory": "28g",
    "driverCores": 4,
    "executorMemory": "32g",
    "executorCores": 4,
    "numExecutors" : 5
}

然后下面发出预期值。

spark_executor_instances = spark.conf.get("spark.executor.instances")
print(f"spark.executor.instances {spark_executor_instances}")

spark_executor_memory = spark.conf.get("spark.executor.memory")
print(f"spark.executor.memory {spark_executor_memory}")

spark_driver_memory = spark.conf.get("spark.driver.memory")
print(f"spark.driver.memory {spark_driver_memory}")

虽然如果我将该笔记本添加为 Azure Synapse Pipeline 中的第一个事件,会发生的情况是执行该笔记本的 Apache Spark 应用程序具有正确的配置,但管道中的其余笔记本会回退到默认配置。

如何为整个管道配置 spark?我应该在管道中的每个笔记本中复制 %%configure .. 上方的粘贴还是有更好的方法?

最佳答案

是的,这是众所周知的选项 AFAIK。您需要在每个笔记本的开头定义 %%configure -f 以覆盖作业的默认设置。

或者,您可以尝试遍历 Azure 门户上的 Spark 池,并通过上传如下所示的文本文件来设置 spark 池中的配置:

enter image description here

enter image description here

请引用这个third-party article了解更多详情。

此外,看起来不能为执行程序或驱动程序指定少于 4 个内核。如果这样做,您将获得 1 个核心,但仍会保留 4 个核心。

关于apache-spark - Azure 突触 Apache Spark : Pipeline level spark configuration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70434797/

相关文章:

azure - Azure Synapse Analytics 中的专用 sql 池和专用 sql 池之间的区别?

azure-synapse - 错误 - 您尝试连接的 SQL Server 实例不支持 CTAIP

hadoop - 如何使用 Spark Map Reduce 将一堆 Parquet 文件联合在一起?

python - PySpark DataFrame 无法正确解析时间

amazon-web-services - 使用Pyspark在S3中写入 Parquet 文件时出错

python - PySpark 可以使用 numpy 数组吗?

Databricks 写回天蓝色突触错误

apache-spark - pyspark计算每组的空值数量

apache-spark - Apache Spark 的非确定性来源

python - 多个 pyspark "window()"调用在执行 "groupBy()"时显示错误