RANDOM() 函數(shù)用于獲取大于或等于0.0且小于1.0的偽隨機(jī)數(shù)(double類型)。
grunt> RANDOM()
假設(shè)在 HDFS 目錄 /pig_data/ 中有一個(gè)名為 math.txt 的文件。此文件包含整數(shù)和浮點(diǎn)值,如下所示。
math.txt
5 16 9 2.5 5.9 3.1
通過使用 math_data 關(guān)系將此文件加載到Pig中,如下所示。
grunt> math_data = LOAD 'hdfs://localhost:9000/pig_data/math.txt' USING PigStorage(',') as (data:float);
現(xiàn)在使用 RANDOM() 函數(shù)生成math.txt文件內(nèi)容的隨機(jī)值,如下所示。
grunt> random_data = foreach math_data generate (data), RANDOM();
上述語句結(jié)果將存儲(chǔ)在名為 random_data 的關(guān)系中。使用Dump運(yùn)算符驗(yàn)證關(guān)系的內(nèi)容,如下所示。
grunt> Dump random_data; (5.0,0.6842057767279982) (16.0,0.9725172591786139) (9.0,0.4159326414649489) (2.5,0.30962777780713147) (5.9,0.705213727551145) (3.1,0.24247708413861724)
更多建議: