2017-08-09 5 views
0

私はいくつかの引数を受け入れるブタスクリプトを持っています。 AWS PowerShell Cmdletを使用する必要があります。 私は豚でクラスタを作成することができていますが、コマンドの下に使用してインストール:PowerShell Cmdletを使用したAWS EMRジョブ

$app = New-Object Amazon.ElasticMapReduce.Model.Application 
$app.Name="Pig" 
$jobid = Start-EMRJobFlow -Name "Pig Job" -Application $app -Instances_MasterInstanceType "m3.xlarge" -Instances_KeepJobFlowAliveWhenNoSteps $true -Instances_InstanceCount 1 -LogUri "s3://mybucket/logs" -VisibleToAllUsers $true -ReleaseLabel "emr-5.7.0" -SecurityConfiguration "my-sec-grp" -JobFlowRole "EMR_EC2_DefaultRole" -ServiceRole "EMR_DefaultRole" 

しかし、私は豚のジョブのステップを追加することはできませんよ。 私はいくつかの記事をたどってきましたが、それらは非常に古かったり、カスタムjarを使って仕事を提出しています。私はちょうどいくつかのパラメータを受け入れる豚のスクリプトを提出する必要があります。 どんな助けも高く評価されます 注::私はpowershell特有のコマンドが必要です。私はAWS cliを使ってこれを行うことができます。

答えて

0

私はpowershellからブタスクリプトを提出する方法を得ました。私はこれに従っていたlink。しかし問題は、Hiveスクリプトに関することです。だから、だから私のステップの作成が似ているのは

$runhivescriptargs = @("s3://us-east-1.elasticmapreduce/libs/hive/hive-script", ` 
     "--base-path", "s3://us-east-1.elasticmapreduce/libs/hive", ` 
     "--hive-versions","latest", ` 
     "--run-hive-script", ` 
     "--args", ` 
     "-f", "s3://elasticmapreduce/samples/hive-ads/libs/join-clicks-to-impressions.q", ` 
     "-d", "SAMPLE=s3://elasticmapreduce/samples/hive-ads",` 
     "-d", "DAY=2009-04-13", ` 
     "-d", "HOUR=08", ` 
     "-d", "NEXT_DAY=2009-04-13", ` 
     "-d", "NEXT_HOUR=09",` 
     "-d", "INPUT=s3://elasticmapreduce/samples/hive-ads/tables", ` 
     "-d", "OUTPUT=s3://my-output-bucket/joinclick1", ` 
     "-d", "LIB=s3://elasticmapreduce/samples/hive-ads/libs") 

としてステップを作成する手順は、だから私は、同じ手順に従っ何とか豚スクリプトの場合、引数は-dオプション を使用していない-pオプションを使用して渡す必要があります:私はすでに豚の最新バージョンを持つEMRクラスタは おかげ

をインストールして作成しているよう

$runpigscriptargs = @("s3://us-east-1.elasticmapreduce/libs/pig/pig-script", ` 
     "--base-path", "s3://us-east-1.elasticmapreduce/libs/pig", ` 
     "--run-pig-script", ` 
     "--args", ` 
     "-f", $scriptfile, ` 
     "-p", "Id=$Id",` 
     "-p", "jarPath=$jarPath",` 
     "-p", "inputPath=$newInputPath", ` 
     "-p", "outputPath=$outputPath") 

私は豚のバージョンを指定しておりません

関連する問題