Jeśli chcesz uruchomić dowolne Spark Job na Amazon EMR 3.x lub EMR 4.x, musisz wykonać następujące czynności:
1) Możesz wspomnieć o spark-defaults.conf właściwości podczas ładowania, tj. możesz zmienić konfigurację Ścieżki klasy sterownika i Ścieżka klasy executorów właściwość, a także maximizeResourceAllocation (W razie potrzeby poproś o więcej informacji w komentarzach.) dokumentacja
2) Musisz pobrać wszystkie wymagane jary, tj. (mysql-connector.jar i mariadb-connector.jar) w twoim przypadku JDBC łącznika MariaDB i MySQL do wszystkich lokalizacji ścieżek klas, takich jak Spark, Yarn i Hadoop na wszystkich węzłach to MASTER, CORE lub TASK (Scenariusz Spark On Yarn obejmuje najwięcej) Dokumentacja skryptów ładowania początkowego
3) A jeśli Twoje zadanie Spark komunikuje się tylko z węzła Driver do Twojej bazy danych, możesz potrzebować tylko użycia --jars i nie da wyjątku i działa dobrze.
4) Zalecamy również wypróbowanie Master jako klaster przędzy zamiast lokalny lub klient przędzy
W twoim przypadku, jeśli używasz MariaDB lub MySQL, skopiuj swoje pliki jar na $SPARK_HOME/lib , $HADOOP_HOME/lib itp. na każdym węźle klastra, a następnie spróbuj.
Później możesz użyć działań Bootstrap aby skopiować pliki jar na wszystkie węzły w czasie tworzenia klastra.
Proszę o komentarz poniżej, aby uzyskać więcej informacji.