0

考えられるすべての順列を試しましたが、CONCAT を機能させることができません。

私がしようとすると:

フェイク = ロード CONCAT('foo','bar');

私は以下を取得します:

2013-01-17 12:41:44,443 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: 不一致の入力 'CONCAT' が QUOTEDSTRING を予期しています

私は動作するとは思わない二重引用符を試しましたが、実際には動作しません。パラメータをスクリプトに渡して CONCAT を使用しようとしましたが、同じエラーが発生します。

これを動機付けるために、結果ファイルが必要な場所に応じて、さまざまな可能なサブ出力ディレクトリと連結されるベース出力ディレクトリを指定しようとしています。

ところで、私も試しました:

フェイク = LOAD 'foo'+'bar';

つまり、CONCAT を使用しません。

私は pig-0.10.1.jar を使用しています -- これは最新バージョンだと思います。

4

1 に答える 1

4

CONCAT内で直接呼び出すことはできませんLOADが、実際にはその必要はありません。スクリプトで指定するか、%declareコマンド ライン パラメータ/パラメータ ファイルを渡すことによって、パラメータ定数を定義できます。次に、表記法を使用してパラメーターを解決できます。$x連結は、シェル スクリプトのように暗黙的に行われます。

%declare FOO 'foo'
%declare BAR 'bar'

fake = load '$FOO$BAR';
于 2013-01-23T03:13:56.920 に答える