Tôi muốn lưu trữ các đối số Spark như tệp đầu vào, tệp đầu ra vào tệp thuộc tính Java và chuyển tệp đó vào Trình điều khiển Spark. Tôi đang sử dụng tia lửa gửi để gửi công việc nhưng không thể tìm thấy thông số để chuyển tệp thuộc tính. Bạn có gợi ý gì không?Cách tải tệp thuộc tính java và sử dụng trong Spark?
Trả lời
đây tôi tìm thấy một giải pháp:
đạo cụ nộp: (mypropsfile.conf) // lưu ý: tiền tố then chốt của bạn với "tia lửa". đạo cụ khác sẽ bị bỏ qua.
spark.myapp.input /input/path
spark.myapp.output /output/path
ra mắt
$SPARK_HOME/bin/spark-submit --properties-file mypropsfile.conf
làm thế nào để gọi trong mã :(bên trong mã)
sc.getConf.get("spark.driver.host") // localhost
sc.getConf.get("spark.myapp.input") // /input/path
sc.getConf.get("spark.myapp.output") // /output/path
+ cùng một thủ thuật sẽ làm việc cho spark-shell quá .... –
cảm ơn bạn :-) Nó đã làm việc một điều trị! – diplomaticguru
@ ramisetty.vijay: phần mở rộng tệp phải là .conf hoặc chúng tôi cũng có thể sử dụng .properties? – Shankar
cách tiếp cận Câu trả lời trước đó có những hạn chế đó là mỗi tài sản nên bắt đầu với spark
trong tệp thuộc tính-
ví dụ:
spark.myapp.input
spark.myapp.output
Nếu giả sử bạn có một tài sản mà không bắt đầu bằng spark
:
job.property:
app.name = xyz
$SPARK_HOME/bin/spark-submit --properties-file job.property
Spark sẽ bỏ qua tất cả các thuộc tính không có tiền tố spark.
với thông điệp:
Cảnh báo: Bỏ qua sở hữu cấu hình không spark: app.name = test
Làm thế nào tôi quản lý tệp thuộc tính trong trình điều khiển và trình điều khiển của ứng dụng:
${SPARK_HOME}/bin/spark-submit --files job.properties
Mã Java để truy cập tệp bộ nhớ cache (công việc.tài sản):
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");
Nếu bạn có thuộc tính cụ thể môi trường (dev/test/prod)
sau đó cung cấp APP_ENV biến môi trường java tùy chỉnh trong spark-submit
:
${SPARK_HOME}/bin/spark-submit --conf \
"spark.driver.extraJavaOptions=-DAPP_ENV=dev spark.executor.extraJavaOptions=-DAPP_ENV=dev" \
--properties-file dev.property
Thay lái xe hoặc người thi hành mã của bạn:
//Load file to propert object using HDFS FileSystem
String fileName = SparkFiles.get(System.getProperty("APP_ENV")+".properties")
- 1. Tải tệp thuộc tính từ gói Java
- 2. Sử dụng sed để cập nhật thuộc tính trong tệp thuộc tính java
- 3. Cách tải tệp thuộc tính trong Google App Engine?
- 4. Tải lại tệp thuộc tính được tải bằng cách sử dụng setBundle
- 5. Tải tệp thuộc tính trong JAR?
- 6. Đường dẫn tệp thuộc tính trong java
- 7. Tệp thuộc tính Java trong Eclipse
- 8. Tải tệp thuộc tính vào JUnit @BeforeClass
- 9. Cách đọc dữ liệu từ tệp thuộc tính java bằng cách sử dụng Spring Boot
- 10. Hằng số và thuộc tính trong java
- 11. Làm cách nào để sử dụng tệp thuộc tính tùy chọn trong tệp cấu hình Spring?
- 12. Cách sử dụng tệp thuộc tính với GlassFish
- 13. Cách gán và sử dụng tiêu đề cột trong Spark?
- 14. Thuộc tính Java: tệp .properties vs xml?
- 15. Đọc thuộc tính tệp
- 16. Làm cách nào để bạn sử dụng thuộc tính 'tệp' và 'thư mục' trong package.json?
- 17. Tải xuống tệp bằng cách sử dụng commons java apache?
- 18. Tải tệp lên bằng cách sử dụng tính năng kéo và thả của HTML5 trong Asp.net
- 19. Làm cách nào để tải các giá trị cài đặt từ một tệp thuộc tính Java?
- 20. Thuộc tính tệp vs Lớp hằng số trong Java
- 21. Tải đồng bộ các tệp javascript bằng cách sử dụng thuộc tính async MVC4 Bundling và HTML5 async
- 22. Chèn phụ thuộc bằng cách sử dụng tệp ".properties"
- 23. Làm cách nào để tải lại tệp thuộc tính trong Spring 4 bằng cách sử dụng chú thích?
- 24. tệp thuộc tính java dưới dạng enum
- 25. Thuộc tính Java: cách thoát # (băm)
- 26. Cách thêm tệp thuộc tính Java vào Dự án Java của tôi trong Eclipse
- 27. Hiểu được thuộc tính window.event và cách sử dụng nó
- 28. Cách sắp xếp Thuộc tính trong java?
- 29. Cách đọc thuộc tính từ tệp xml bằng java?
- 30. Đặt thuộc tính hệ thống Java bằng tệp cấu hình
bạn đã mệt mỏi tùy chọn này: --prop erties-file FILE Đường dẫn đến một tập tin mà từ đó để tải thêm các thuộc tính –