簡體   English   中英

Amazon EMR:將XML或屬性文件傳遞給JAR

[英]Amazon EMR: Passing an XML or properties file to a JAR

我已經從一個JAR文件在hadoop集群上運行了幾個map reduce作業。 JAR的Main接受XML文件作為命令行參數。 XML文件包含每個作業的輸入和輸出路徑(名稱 - 值屬性對),我使用它們來配置每個mapreduce作業。 我能夠像這樣將路徑加載到配置中

    Configuration config = new Configuration(false);
    config.addResource(new FileInputStream(args[0]));

我現在正嘗試使用Amazon的Elastic MapReduce運行JAR。 我嘗試將XML文件上傳到S3,但當然使用FileInputStream從S3加載路徑數據不起作用(FileNotFound Exception)。

使用EMR時如何將XML文件傳遞給JAR?

(我查看了引導操作,但據我所知,這是指定hadoop特定的配置)。

任何見解將不勝感激。 謝謝。

如果你添加一個簡單的引導操作

hadoop fs -copyToLocal s3n://bucket/key.xml /target/path/on/local/filesystem.xml

然后,您就可以按照預期在/target/path/on/local/filesystem.xml上打開FileInputStream。 引導操作在集群中的所有主/從機器上同時執行,因此它們都將具有本地副本。

要添加該引導操作,您需要創建包含上述命令的shell腳本文件,將上載到S3,並將其指定為腳本引導操作路徑。 不幸的是,s3中的shell腳本是目前唯一允許的引導操作類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM