2014-01-27 65 views
1

我回顧跑這裏來了,如何讓AWS彈性MapReduce蜂巢命令並行

How to make hive run mapreduce jobs concurrently?

我的問題是如何在亞馬遜電子病歷設置這個「hive.exec.parallel.thread.number」選項集羣啓動?

此外,設置此選項相當於做類似以下的事情?

cat hive_script.hql | parallel --gnu hive -e '{}' 

我的蜂巢腳本可以按任意順序運行,因爲它是簡單的啓動每一個新的(基於時間)一堆作業分區現有的表來創建衍生表的基於時間的分區。

如果他們在我的情況不相同,這些策略之一會產生更好的表現嗎?

回答

2

我的問題是如何在啓動時在Amazon EMR集羣中設置此「hive.exec.parallel.thread.number」選項?

附加配置到hive-site.xml(在我的情況下,文件路徑是./.versions/hive-0.11.0/conf/hive-site.xml

<property> 
    <name>hive.exec.parallel</name> 
    <value>true</value> 
    <description>Whether to execute jobs in parallel</description> 
</property> 

如果他們不是在我的情況等同,將這些策略中的一個產生更好的性能?

這是不同的。此屬性控制一個配置單元作業中的不同階段,因此性能取決於特定的配置單元查詢。

+0

有沒有辦法告訴新啓動的emr集羣有這個屬性,也許使用引導操作? http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-bootstrap.html#PredefinedbootstrapActions_ConfigureHadoop –

+0

我發現你可以在啓動http://docs.aws.amazon時指定--hive-site。 COM/ElasticMapReduce /最新/ DeveloperGuide/EMR-CLI-commands.html –