如何在 AWS EMR notebook 中加载库/maven 依赖项

How to load library/ maven dependency in AWS EMR notebook

我正在使用 AWS 笔记本。我可以 运行 正常的基于 scala 的 spark 作业,没有第三方库依赖性很好。但我想加载一些常用库,如 typesafe-config、mysql-connector 等。

如何在 AWS 上的 scala spark notebook 中添加这些库依赖项?

我尝试在笔记本的第一个单元格中添加这些片段,但都不起作用

 %%configure -f
    {
        "conf": {
            "spark.jars": "s3://bucket-xxx/jars/lib/config-1.3.1.jar"
        }
    }

以及

%%configure -f
{
"conf": {"spark.jars.packages": "com.typesafe:config:1.3.1,mysql:mysql-connector-java:8.0.17"},

"jars": ["s3://bucket-xxx/jars/lib/"]

}

都抛出了错误

console>:29: error: object ConfigFactor is not a member of package com.typesafe.config import com.typesafe.config.ConfigFactor

当我尝试导入类型安全配置时

import com.typesafe.config.ConfigFactor

我还尝试在笔记本元数据中添加 Maven 坐标

"customDeps": [
        "com.typesafe:config:1.3.1"
    ]

得到了

error: object typesafe is not a member of package com import com.typesafe.config.ConfigFactor

导入行有错字,应该是

import com.typesafe.config.ConfigFactory

此外,Jupyter notebook 中需要此单元格

%%configure -f 
{
  "jars": ["s3://test/libs/config-1.3.1.jar"],
  "conf": {"spark.jars.packages": "com.typesafe:config:1.3.1"}
}

希望对您有所帮助。