安装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,请参阅我们的说明。注意:此功能仍在开发中,可能缺少一些必要的自定义包装器。