Se você deseja executar qualquer trabalho do Spark no Amazon EMR 3.x ou EMR 4.x, você precisa fazer o seguinte:
1) Você pode mencionar o spark-defaults.conf propriedades durante a inicialização, ou seja, você pode alterar a configuração do caminho de classe do driver e Caminho de classe do executor propriedade e também maximizeResourceAllocation (Peça mais informações nos comentários, se necessário.) documentos
2) Você precisa baixar todos os jars necessários, ou seja, (mysql-connector.jar e mariadb-connector.jar) no seu caso, jars JDBC do conector MariaDB e MySQL para todos os locais do caminho de classe, como Spark, Yarn e Hadoop em todos os nós. é MESTRE, NÚCLEO ou TAREFA (O cenário Spark On Yarn abrange a maioria) documentação de scripts de inicialização
3) E se o seu trabalho do Spark estiver se comunicando apenas do nó do driver para o seu banco de dados, talvez você só precise usar --jars e não lhe dará exceção e funciona bem.
4) Também recomendo que você experimente o Master como yarn-cluster em vez de local ou yarn-client
No seu caso, se você usa MariaDB ou MySQL, copie seus jars em $SPARK_HOME/lib , $HADOOP_HOME/lib etc. em cada nó de seu cluster e, em seguida, experimente.
Mais tarde, você pode usar as ações do Bootstrap para copiar seus jars em todos os nós durante a criação do cluster.
Por favor, comente abaixo para mais informações.