You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2014/11/13 22:21:39 UTC
svn commit: r1639525 - in /pig/trunk: CHANGES.txt
src/org/apache/pig/builtin/JsonLoader.java
src/org/apache/pig/builtin/JsonStorage.java
test/org/apache/pig/test/TestJsonLoaderStorage.java
Author: daijy
Date: Thu Nov 13 21:21:38 2014
New Revision: 1639525
URL: http://svn.apache.org/r1639525
Log:
PIG-3615: Update the way that JsonLoader/JsonStorage deal with BigDecimal
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/builtin/JsonLoader.java
pig/trunk/src/org/apache/pig/builtin/JsonStorage.java
pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1639525&r1=1639524&r2=1639525&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Thu Nov 13 21:21:38 2014
@@ -26,6 +26,8 @@ IMPROVEMENTS
BUG FIXES
+PIG-3615: Update the way that JsonLoader/JsonStorage deal with BigDecimal (tyro89 via daijy)
+
PIG-4329: Fetch optimization should be disabled when limit is not pushed up (lbendig via cheolsoo)
PIG-3413: JsonLoader fails the pig job in case of malformed json input (eyal via daijy)
Modified: pig/trunk/src/org/apache/pig/builtin/JsonLoader.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/JsonLoader.java?rev=1639525&r1=1639524&r2=1639525&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/JsonLoader.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/JsonLoader.java Thu Nov 13 21:21:38 2014
@@ -19,6 +19,7 @@ package org.apache.pig.builtin;
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -247,7 +248,7 @@ public class JsonLoader extends LoadFunc
case DataType.BIGDECIMAL:
tok = p.nextToken();
if (tok == JsonToken.VALUE_NULL) return null;
- return p.getDecimalValue();
+ return new BigDecimal(p.getText());
case DataType.MAP:
// Should be a start of the map object
Modified: pig/trunk/src/org/apache/pig/builtin/JsonStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/JsonStorage.java?rev=1639525&r1=1639524&r2=1639525&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/JsonStorage.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/JsonStorage.java Thu Nov 13 21:21:38 2014
@@ -219,7 +219,7 @@ public class JsonStorage extends StoreFu
return;
case DataType.BIGDECIMAL:
- json.writeNumberField(field.getName(), (BigDecimal)d);
+ json.writeStringField(field.getName(), d.toString());
return;
case DataType.MAP:
Modified: pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java?rev=1639525&r1=1639524&r2=1639525&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java Thu Nov 13 21:21:38 2014
@@ -89,7 +89,7 @@ public class TestJsonLoaderStorage {
"\"g\":\"abc\"," +
"\"h\":\"def\"," +
"\"i\":123456789," +
- "\"j\":1234.6789," +
+ "\"j\":\"1234.6789\"," +
"\"k\":{\"a\":\"ghi\"}," +
"\"l\":{\"a\":123}," +
"\"m\":[{\"a\":123},{\"a\":456},{\"a\":789}]" +