Как загрузить зависимости библиотеки / maven в блокнот AWS EMR - PullRequest
0 голосов
/ 10 ноября 2019

Я использую ноутбук AWS. Я могу запускать обычные задания на основе Scala без штрафов от сторонних библиотек. Но я хочу загрузить некоторые распространенные библиотеки, такие как typesafe-config, mysql-connector и т. Д.

Как добавить эти библиотечные зависимости в scala spark notebook на AWS?

Я пытался добавить эти фрагменты в первую ячейку ноутбука, но ни один из них не работал

 %%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: ошибка: объект ConfigFactor не является членом пакета com.typesafe.config import com.typesafe.config.ConfigFactor

, когда я пытался импортировать типизацию конфигурации

import com.typesafe.config.ConfigFactor

Я также попытался добавить координаты maven в метаданные записной книжки как

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

и получил

ошибка: безопасный тип объекта не является членом пакета com importcom.typesafe.config.ConfigFactor

1 Ответ

0 голосов
/ 14 ноября 2019

У вас есть опечатка в строке импорта, она должна быть

import com.typesafe.config.ConfigFactory

Кроме того, эта ячейка требуется в записной книжке Jupyter

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

Надеюсь, это полезно.

...