[ https://issues.apache.org/jira/browse/PIG-4265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
liyunzhang_intel updated PIG-4265: ---------------------------------- Attachment: (was: PIG-4265.patch) > AlgebraicDoubleMathBase has "Java double precision problems" > ------------------------------------------------------------ > > Key: PIG-4265 > URL: https://issues.apache.org/jira/browse/PIG-4265 > Project: Pig > Issue Type: Bug > Reporter: liyunzhang_intel > Assignee: liyunzhang_intel > > $PIG_HOME/bin/pig -x local RubyUDFs_10.pig > #RubyUDFs_10.pig > a = load 'studenttab10k' using PigStorage() as (name, age:int, gpa:double); > b = group a by name; > c = foreach b generate group, SUM(a.age), SUM(a.gpa); > d = foreach c generate $0, $1, (double)((int)$2*100)/100; > store d into 'local.output/RubyUDFs_10_benchmark.out'; > the result in RubyUDFs_10.out/part > #grep "david s" RubyUDFs_10.out/part-r-00000 > david steinbeck 266 15.0 > #grep "david s" studenttab10k > david steinbeck 21 2.44 > david steinbeck 33 1.17 > david steinbeck 42 1.94 > david steinbeck 42 1.35 > david steinbeck 31 2.77 > david steinbeck 40 2.42 > david steinbeck 57 3.91 > when runing Ruby_UDFs.pig in spark, the sum(a.gpa) is 16.0 and > (double)((int)$2*100)/100 will be "david steinbeck 266 16.0". > when running Ruby_UDFs.pig in mapreduce mode, the sum(a.gpa) is > 15.999999999999998 and (double)((int)$2*100)/100 will be "david steinbeck > 266 15.0". > I don't know why the same code by different execution engines(spark and > mapreduce) on the same os returns different results. -- This message was sent by Atlassian JIRA (v6.3.4#6332)