# Apache Pig

1 articles in category Apache Pig / Subscribe

## re-using variable containing a single value in PIG

Pig doesn’t support scalar variable assignment. That is you can not have a statement like this

`var = 3`

The smallest unit you can have is a tuple, containing a single value

`var = {3}`

So, say that you have a variable X containing 2 columns,

```(word1,1) (word2,4) (word3,14)```

and you need to do some math against the second column, based on the result of a value stored in a variable, var above.

The following statement won’t work:

`result = FOREACH X GENERATE \$1*var;`

Instead you need to join two variables together so that for every row of X, you will have an additional column containing the value from var. You need to produce the following data before proceeding with your calculation

```(word1,1) (word2,4,3) (word3,14,3)```

To accomplish this, you need to do the following:

`temp = JOIN X BY 1, var BY 1 USING 'replicated';`

Now you can do your math operation

`result = FOREACH temp GENERATE \$1*\$2;`