2016-08-10 9 views

Odpowiedz

8

Czy to oznacza, że ​​nie musimy dokonać słoik tłuszczu już za składania pracy?

Niestety, nie. Nadal musisz utworzyć uber JAR dla wdrożenia Sparks.

Tytuł z uwag do wydania to bardzo wprowadzające w błąd. Rzeczywisty sens jest taki, że sam Spark jako zależność nie jest już skompilowany do pliku JAR, ale działa jak normalny plik JAR aplikacji z zależnościami. Możesz to zobaczyć bardziej szczegółowo @SPARK-11157, która nazywa się "Pozwól Sparkowi budować bez zestawów" i przeczytaj artykuł o nazwie "Replacing the Spark Assembly with good old jars", który opisuje zalety i wady wdrażania Sparka nie jako kilku dużych JARów (Core, Streaming, SQL, itp. ..), ale jako kilka stosunkowo regularnych rozmiarów plików JAR zawierających kod i katalog lib/ ze wszystkimi powiązanymi zależnościami.

Jeśli naprawdę chcesz poznać szczegóły, this pull request dotyka kilku kluczowych części.

+0

Czytam ci odpowiedź jak 10 razy. Czytam także linki, które podałeś. Czy możesz jasno określić powód, dla którego muszę stworzyć słoik z tłuszczem? Co się stanie, jeśli nie, jakie są potencjalne problemy związane z określeniem zakresu dla wszystkich zależności iskry? – MaxNevermind

+0

@MaxNevermind Jeśli nie, i wysłać tylko skompilowany kod, kto dostarczy zależności od strony trzeciej? W czasie wykonywania aplikacja wysadzi w powietrze wyjątek 'ClassNotFoundException'. –

+0

Zadałem złe pytanie. Co się stanie, jeśli utworzę gruby słoik, ale określę zakres dla wszystkich zależności iskry, ponieważ są one dostarczane przez środowisko? Tak więc, zależności stron trzecich, których używa moja aplikacja, ale Spark nie zostanie spakowany w grubym słoiku. – MaxNevermind

Powiązane problemy