2016-03-03 15 views
8

Trong ứng dụng của tôi, tôi cần kết nối với cơ sở dữ liệu vì vậy tôi cần phải chuyển địa chỉ IP và tên cơ sở dữ liệu khi ứng dụng được gửi.Cách chuyển các tham số bên ngoài thông qua Spark gửi

Tôi nộp đơn như sau::

./spark-submit --class class name --master spark://localhost:7077 \ 
--deploy-mode client /home/hadoop/myjar.jar 

Trả lời

11

Nếu bạn kiểm tra the official documentation bạn sẽ thấy rằng spark-submit đã sau cú pháp:

./bin/spark-submit \ 
    --class <main-class> 
    --master <master-url> \ 
    --deploy-mode <deploy-mode> \ 
    --conf <key>=<value> \ 
    ... # other options 
    <application-jar> \ 
    [application-arguments] 

Bạn có thể sử dụng một trong hai application-argumentsconf để vượt qua được yêu cầu cấu hình theo phương thức chính và SparkConf tương ứng.

1

Như đã trình bày bởi zero323 bạn có thể sử dụng spark-nộp lệnh từ the link

./bin/spark-submit \ 
    --class <main-class> 
    --master <master-url> \ 
    --deploy-mode <deploy-mode> \ 
    --conf <key>=<value> \ 
    ... # other options 
    <application-jar> \ 
    [application-arguments] 

Ở đây, conf được sử dụng để vượt qua configs Spark liên quan được yêu cầu cho các ứng dụng chạy giống như bất kỳ thuộc tính cụ thể (bộ nhớ thực thi) hoặc nếu bạn muốn ghi đè thuộc tính mặc định được đặt trong Spark-default.conf. Bạn có thể sử dụng số [đối số ứng dụng] được chuyển sau khi JAR sử dụng trường hợp sử dụng của bạn để kết nối với cơ sở dữ liệu.

Khi bạn thiết lập của bạn chính là:

def main(args: Array[String]) 

Sau đó, bạn có thể chấp nhận bất cứ điều gì như một đối số đưa ra sau khi dòng .jar.

Vui lòng tham khảo for more details

Các vấn đề liên quan