Я сделал это с Java SDK, используя PHP SDK, по сути, вам нужно разобрать нужные параметры с помощью add_job_flow_steps function
При вызове функции необходимо добавить параметры в StepConfig (для сценария, который вы запускаете) в массиве «Args».
Args - string|array - Optional - A list of command line arguments passed to the JAR file’s main function when executed. Pass a string for a single value, or an indexed array for multiple values.
Формат аргументов немного сбивает с толку, вам нужен массив вида
( "- д", "yourVariable = itsValue", "- д", "anotherVariable = AnotherValue")
Так что это должно выглядеть примерно так:
add_job_flow_steps('j-19430859jg9',array( new CFStepConfig(array(
'Name' => 'Run a hive script',
'HadoopJarStep' => array( 'Jar' => CFHadoopStep::run_hive_script(),
'Args' => array("-d","yourVariable=itsValue","-d","anotherVariable=AnotherValue")
))))
Не знаю, правильный ли синтаксис, я не пробовал.
По крайней мере, так обстоит дело с Java, может быть, для PHP вам может понадобиться ассоциированный массив, я бы попробовал различные форматы.
Полагаю, это так, что эти параметры не путают с другими параметрами конфигурации hadoop / hive.
Затем вы можете получить доступ к этим переменным в скрипте аналогично тому, как в bash, используя $ {yourVariable}.
SELECT * FROM TABLE WHERE column='${yourVariable};