Chcę przechowywać argumenty Spark, takie jak plik wejściowy, plik wyjściowy do plików właściwości Java i przekazać ten plik do sterownika Spark. Korzystam z funkcji przesyłania z iskrą do przesłania zadania, ale nie mogę znaleźć parametru, który przekazałby plik właściwości. Czy masz jakieś sugestie?Jak załadować plik właściwości Java i użyć go w Sparku?
Odpowiedz
tutaj znalazłem jedno rozwiązanie: Plik
rekwizyty (mypropsfile.conf) // uwaga: prefiks klucz z "iskrą". inne rekwizyty będą ignorowane.
spark.myapp.input /input/path
spark.myapp.output /output/path
launch
$SPARK_HOME/bin/spark-submit --properties-file mypropsfile.conf
jak zadzwonić w kodzie :(wewnątrz kodu)
sc.getConf.get("spark.driver.host") // localhost
sc.getConf.get("spark.myapp.input") // /input/path
sc.getConf.get("spark.myapp.output") // /output/path
+ ta sama sztuczka zadziała również w przypadku iskrzenia-skorupy .... –
dziękuję :-) To działało! – diplomaticguru
@ ramisetty.vijay: rozszerzenie pliku powinno być .conf lub możemy również użyć .properties? – Shankar
podejście poprzednią odpowiedź zawiera ograniczenie, które jest każda nieruchomość powinna zacząć z spark
w pliku właściwości -
np.
spark.myapp.input
spark.myapp.output
Jeśli Załóżmy, że masz nieruchomość, która nie rozpoczyna się spark
:
job.property:
app.name = xyz
$SPARK_HOME/bin/spark-submit --properties-file job.property
Spark zignoruje wszystkie właściwości nie posiada prefiksu spark.
z komunikatem:
Ostrzeżenie: Zignorowanie non-iskra nieruchomość config: app.name = test
Jak ja zarządzaj plikiem właściwości w sterowniku aplikacji i executorze:
${SPARK_HOME}/bin/spark-submit --files job.properties
Kod Java umożliwiający dostęp do pliku pamięci podręcznej (zadanie.Właściwości):
import java.util.Properties;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.spark.SparkFiles;
//Load file to propert object using HDFS FileSystem
String fileName = SparkFiles.get("job.properties")
Configuration hdfsConf = new Configuration();
FileSystem fs = FileSystem.get(hdfsConf);
//THe file name contains absolute path of file
FSDataInputStream is = fs.open(new Path(fileName));
Properties prop = new Properties();
//load properties
prop.load(is)
//retrieve properties
prop.getProperty("app.name");
Jeśli masz środowiska specyficzne właściwości (dev/test/prod)
następnie dostarczyć APP_ENV niestandardową zmienną środowiskową java w spark-submit
:
${SPARK_HOME}/bin/spark-submit --conf \
"spark.driver.extraJavaOptions=-DAPP_ENV=dev spark.executor.extraJavaOptions=-DAPP_ENV=dev" \
--properties-file dev.property
Wymień sterownika lub wykonawcy kod:
//Load file to propert object using HDFS FileSystem
String fileName = SparkFiles.get(System.getProperty("APP_ENV")+".properties")
- 1. Plik właściwości Java w Eclipse
- 2. Jak załadować klucz RSA z pliku PEM i użyć go w python-crypto
- 3. Jak działa partycjonowanie w Sparku?
- 4. Jak załadować wartości ustawień z pliku właściwości Java?
- 5. Wiosenna konfiguracja Java: importuj plik właściwości
- 6. Android - Jak pobrać obraz i użyć go w czasie wykonywania?
- 7. Java - jak połączyć adnotacje walidacji i AOP i użyć go w kontrolerach Spring?
- 8. Jak skopiować plik w Go?
- 9. Stałe i właściwości w java
- 10. jak załadować plik na serwer zdalny http za pomocą java?
- 11. Jak uzyskać identyfikator zadania mapy w Sparku?
- 12. Jak przekonwertować PropertyInfo na wyrażenie właściwości i użyć go do wywołania metody ogólnej?
- 13. Jak dodać plik właściwości log4J z wtyczką sbt i onejar?
- 14. iPhone RestKit Jak załadować lokalny plik JSON i zmapować go do głównej encji danych?
- 15. Jak wstępnie załadować plik konfiguracyjny w angular2
- 16. Spring PropertyPlaceHolder Plik właściwości konfiguracji zewnętrznej Java
- 17. Jak załadować typelib do parsowania go w C#?
- 18. Jak poprawnie załadować BufferedImage w java?
- 19. SVN - Jak załadować pojedynczy plik?
- 20. Załaduj plik cdn i zapisz go w Service Worker
- 21. Java: Jak napisać "arabski" w pliku właściwości?
- 22. Jak ustawić plik właściwości log4j?
- 23. Jak sortować właściwości w java?
- 24. Jak załadować plik scala do konsoli sbt?
- 25. wget plik i wysłać go do bash
- 26. Właściwości Java obiektu String
- 27. Go: Jak uruchomić plik file.good
- 28. Jak dodać nazwę pliku źródłowego do każdego wiersza w Sparku?
- 29. właściwości Ładowanie Log4J z pakietu w java
- 30. Jak uzyskać część obrazu i użyć go jako osobnego obrazu?
czy zmęczyłeś tę opcję: --prop erties-file FILE Ścieżka do pliku, z którego można załadować dodatkowe właściwości –