Explorar o código

[beeswax] Support NaN and Infinity values from HiveServer2 API

Will print:
  Infinity
  -Infinity
  NaN
Romain Rigaux %!s(int64=10) %!d(string=hai) anos
pai
achega
9fc5add
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      apps/beeswax/src/beeswax/views.py

+ 5 - 1
apps/beeswax/src/beeswax/views.py

@@ -17,6 +17,7 @@
 
 import json
 import logging
+import math
 import re
 import sys
 import time
@@ -474,7 +475,10 @@ def view_results(request, id, first_row=0):
         escaped_row = []
         for field in row:
           if isinstance(field, (int, long, float, complex, bool)):
-            escaped_field = field
+            if math.isnan(field) or math.isinf(field):
+              escaped_field = json.dumps(field)
+            else:
+              escaped_field = field
           elif field is None:
             escaped_field = 'NULL'
           else: