SageMaker Studio连接到 EMR 集群

预处理和特征工程步骤将涉及大量数据——尤其是在现实生活场景中。为了能够处理数据,我们将在之前步骤中创建的 Amazon EMR 集群上运行。

打开2_OpenRTB_EMR.ipynbNotebook,注意它要在PySpark(SparkMagic) 内核中运行,以连接到 EMR 集群。选择Spark Analytics 2.0 Image和SparkMagic PySpark Kernel:

image-20240202105408004

SageMaker有bug,如果Kernel启动很长时间,要刷新下浏览器。

等待kernel启动成功:

image-20240202105442348

有关如何将 Amazon EMR 集群与 Amazon SageMaker Studio 连接的详细信息,请参阅Amazon SageMaker 开发人员指南

将 SageMaker Studio 连接到 EMR 集群

首先点击Cluster

image-20240202105458728

从可用集群列表中选择 EMR 集群:

image-20240202102218599

选择No credential选项并继续连接:

image-20240202102427227

连接到集群时,Notebook中会生成以下代码:

%load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --cluster-id j-XXXXXXXXXXX-auth-type None

这将建立与 EMR 的连接(也可将代码保存下来直接运行,而不是通过UI操作连接集群):

image-20240202105553414

接下来,我们在 Spark 会话中启用 virtualenv,以便能够将软件包安装到已经运行的 EMR 集群:

参阅 https://aws.amazon.com/blogs/big-data/install-python-libraries-on-a-running-cluster-with-emr-notebooks/

%%configure -f
{
    "conf": {
        "spark.jars.packages":"ml.combust.mleap:mleap-spark_2.12:0.19.0,ml.combust.mleap:mleap-spark-base_2.12:0.19.0,ml.combust.mleap:mleap-spark_2.12:0.19.0",
        "spark.jars.excludes":"net.sourceforge.f2j:arpack_combined_all",
        "spark.pyspark.python": "python3",
        "spark.pyspark.virtualenv.enabled": "true",
        "spark.pyspark.virtualenv.type":"native",
        "spark.pyspark.virtualenv.bin.path":"/usr/bin/virtualenv"
    }
}

image-20240202105747987