2016-10-06 8 views
0

シェルスクリプトを使用してハイブクエリを実行しています。 hive -hiveconfを使用して、特定のハイブ設定を設定したいと思います。しかし、私は次のように、複数のJavaオプションを入力します:ハイブシェル複数のJavaオプション

hive -hiveconf set tez.am.java.opts=-option1 -option2

は、残念ながら、シェルスクリプトはシェルコマンドとして-option2取り、それはそれを理解していないので、それが失敗しました。そこに含めるすべてのjava.optをリストするにはどうすればよいですか?私は引用符を使ってみましたが、うまくいきませんでした。私もset tez.am.java.opts=の複数のインスタンスを書くことができませんでした。

+0

二重引用符( ")を使用する – leftjoin

+0

試してみました。 – user3124181

+0

複数のセットをスクリプト内の個別のステートメントとして実行できますか? – Andrew

答えて

0

hiveconf名前空間を使用して変数を渡すときは、スクリプト内に${hiveconf:variable}のようなすべての変数を指定する必要があります。まさにあなたが達成したいとは思わない。

多くの場合、スクリプトは数十の設定とSQLスクリプトを含む非常に大きくなります。

私がお勧めする解決策は、パラメータのセットを含むファイルを準備し、HQLスクリプトの中にsource my_script_params.hqlを呼び出すことです。また、HQLスクリプトを実行する前にデータベースからこのスクリプトを生成することもできます。

関連する問題