Skip to main content
Version: 1.0.8

安装SynapseML

微软Fabric

SynapseML 已经安装在 Microsoft Fabric 笔记本中。要更改版本,请在笔记本的第一个单元格中放置以下内容:

%%configure -f
{
"name": "synapseml",
"conf": {
"spark.jars.packages": "com.microsoft.azure:synapseml_2.12:<THE_SYNAPSEML_VERSION_YOU_WANT>",
"spark.jars.repositories": "https://mmlspark.azureedge.net/maven",
"spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind",
"spark.yarn.user.classpath.first": "true",
"spark.sql.parquet.enableVectorizedReader": "false"
}
}

突触

SynapseML 已经安装在 Synapse Analytics 笔记本中。要更改版本,请在笔记本的第一个单元格中放置以下内容:

适用于Spark3.4池

%%configure -f
{
"name": "synapseml",
"conf": {
"spark.jars.packages": "com.microsoft.azure:synapseml_2.12:1.0.8",
"spark.jars.repositories": "https://mmlspark.azureedge.net/maven",
"spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind",
"spark.yarn.user.classpath.first": "true",
"spark.sql.parquet.enableVectorizedReader": "false"
}
}

对于Spark3.3池:

%%configure -f
{
"name": "synapseml",
"conf": {
"spark.jars.packages": "com.microsoft.azure:synapseml_2.12:0.11.4-spark3.3",
"spark.jars.repositories": "https://mmlspark.azureedge.net/maven",
"spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind",
"spark.yarn.user.classpath.first": "true",
"spark.sql.parquet.enableVectorizedReader": "false"
}
}

Python

要在Python(或Conda)安装上试用SynapseML,您可以通过pip install pyspark来安装Spark。

import pyspark
spark = pyspark.sql.SparkSession.builder.appName("MyApp") \
# Use 0.11.4-spark3.3 version for Spark3.3 and 1.0.8 version for Spark3.4
.config("spark.jars.packages", "com.microsoft.azure:synapseml_2.12:1.0.8") \
.config("spark.jars.repositories", "https://mmlspark.azureedge.net/maven") \
.getOrCreate()
import synapse.ml

SBT

如果您正在使用Scala构建Spark应用程序,请将以下行添加到您的build.sbt中:

resolvers += "SynapseML" at "https://mmlspark.azureedge.net/maven"
// Use 0.11.4-spark3.3 version for Spark3.3 and 1.0.8 version for Spark3.4
libraryDependencies += "com.microsoft.azure" % "synapseml_2.12" % "1.0.8"

Spark 包

SynapseML 可以方便地通过 --packages 选项安装在现有的 Spark 集群上,例如:

# Use 0.11.4-spark3.3 version for Spark3.3 and 1.0.8 version for Spark3.4
spark-shell --packages com.microsoft.azure:synapseml_2.12:1.0.8
pyspark --packages com.microsoft.azure:synapseml_2.12:1.0.8
spark-submit --packages com.microsoft.azure:synapseml_2.12:1.0.8 MyApp.jar

类似的技术也可以在其他Spark环境中使用。例如,你可以在AZTK中使用SynapseML,通过将其添加到.aztk/spark-defaults.conf文件中

Databricks

要在Databricks云上安装SynapseML,请在工作区中创建一个新的来自Maven坐标的库

对于坐标使用:com.microsoft.azure:synapseml_2.12:1.0.8 用于 Spark3.4 集群,以及 com.microsoft.azure:synapseml_2.12:0.11.4-spark3.3 用于 Spark3.3 集群; 添加解析器:https://mmlspark.azureedge.net/maven。确保此库已附加到您的目标集群。

最后,确保您的Spark集群至少具有Spark 3.2和Scala 2.12。

您可以在Scala和PySpark笔记本中使用SynapseML。要开始使用我们的示例笔记本,请导入以下Databricks存档:

https://mmlspark.blob.core.windows.net/dbcs/SynapseMLExamplesv1.0.8.dbc

Apache Livy 和 HDInsight

要在由Apache Livy提供的Jupyter笔记本中安装SynapseML,可以使用以下配置魔法。执行此配置单元格后,您需要启动一个新会话。

由于Livy 0.5的当前问题,可能需要从库中排除某些包

%%configure -f
{
"name": "synapseml",
"conf": {
# Use 0.11.4-spark3.3 version for Spark3.3 and 1.0.8 version for Spark3.4
"spark.jars.packages": "com.microsoft.azure:synapseml_2.12:1.0.8",
"spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind"
}
}

在Azure Synapse中,应将"spark.yarn.user.classpath.first"设置为"true"以覆盖现有的SynapseML包

%%configure -f
{
"name": "synapseml",
"conf": {
# Use 0.11.4-spark3.3 version for Spark3.3 and 1.0.8 version for Spark3.4
"spark.jars.packages": "com.microsoft.azure:synapseml_2.12:1.0.8",
"spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.12,org.scalactic:scalactic_2.12,org.scalatest:scalatest_2.12,com.fasterxml.jackson.core:jackson-databind",
"spark.yarn.user.classpath.first": "true"
}
}

Docker

评估SynapseML的最简单方法是通过我们预构建的Docker容器。为此,请运行以下命令:

docker run -it -p 8888:8888 -e ACCEPT_EULA=yes mcr.microsoft.com/mmlspark/release

在您的网络浏览器中导航到http://localhost:8888/以运行示例笔记本。有关Docker使用的更多信息,请参阅[文档](../../Reference/Docker Setup.md)。

要阅读使用docker镜像的最终用户许可协议(EULA),请运行

docker run -it -p 8888:8888 mcr.microsoft.com/mmlspark/release eula

从源代码构建

SynapseML 最近已经过渡到了新的构建基础设施。 有关详细的开发者文档,请参阅 Developer Readme

如果您是现有的SynapseML开发者,您需要重新配置您的开发设置。我们现在支持平台独立的开发,并且更好地与IntelliJ和SBT集成。如果您遇到问题,请联系我们的支持邮箱!

R (测试版)

要尝试使用R自动生成的包装器来使用SynapseML,请参阅我们的说明。注意:此功能仍在开发中,可能缺少一些必要的自定义包装器。