1

欠損値を事前に計算された値に置き換えようとしています。

だから私はここに質問を投稿し、アドバイスに従いました。ここにコードスニペットがあります

input = LOAD 'data.txt' USING PigStorage(',') AS
(
id1:double  ,  id21:double  );

gin = foreach input generate
        id1 IS NULL ? 2 : id1,
        id2 IS NULL ? 4 : id2;

しかし、SEMI_COLON を期待して入力 'IS' が一致しないというエラーが表示されますか?

4

1 に答える 1

3

bincond に括弧を追加してみてください。以下は私にとって適切に機能します:

の内容input:

0.9,1.11
,0.3
10.3,

脚本:

inp = LOAD 'input' USING PigStorage(',') AS (id1:double, id2:double );

gin = foreach inp generate
    ((id1 IS NULL) ? 2 : id1),
    ((id2 IS NULL) ? 4 : id2);

DUMP gin;

出力:

(0.9,1.11)
(2.0,0.3)
(10.3,4.0)
于 2012-11-15T16:43:23.210 に答える