Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 1CD04200B66 for ; Wed, 3 Aug 2016 12:17:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 1B807160A64; Wed, 3 Aug 2016 10:17:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 68263160A86 for ; Wed, 3 Aug 2016 12:17:21 +0200 (CEST) Received: (qmail 24230 invoked by uid 500); 3 Aug 2016 10:17:20 -0000 Mailing-List: contact issues-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.apache.org Delivered-To: mailing list issues@drill.apache.org Received: (qmail 24209 invoked by uid 99); 3 Aug 2016 10:17:20 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Aug 2016 10:17:20 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 8009C2C027F for ; Wed, 3 Aug 2016 10:17:20 +0000 (UTC) Date: Wed, 3 Aug 2016 10:17:20 +0000 (UTC) From: "Arina Ielchiieva (JIRA)" To: issues@drill.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (DRILL-4824) JSON with complex nested data produces incorrect output with missing fields MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 03 Aug 2016 10:17:22 -0000 [ https://issues.apache.org/jira/browse/DRILL-4824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Arina Ielchiieva updated DRILL-4824: ------------------------------------ Fix Version/s: (was: Future) 1.9.0 Description: There is incorrect output in case of JSON file with complex nested data. Here is a JSON file: {code:none|title=example.json|borderStyle=solid} { "Field1" : { } } { "Field1" : { "InnerField1": {"key1":"value1"}, "InnerField2": {"key2":"value2"} } } { "Field1" : { "InnerField3" : ["value3", "value4"], "InnerField4" : ["value5", "value6"] } } {code} Here is actual result after command "select Field1 from dfs.`/tmp/example.json`;": {code:none} +---------------------------+ | Field1 | +---------------------------+ {"InnerField1":{},"InnerField2":{},"InnerField3":[],"InnerField4":[]} {"InnerField1":{"key1":"value1"},"InnerField2" {"key2":"value2"},"InnerField3":[],"InnerField4":[]} {"InnerField1":{},"InnerField2":{},"InnerField3":["value3","value4"],"InnerField4":["value5","value6"]} +--------------------------+ {code} I think it is no need to output missing fields. In case of deeply nested structure we will get unreadable for user result. So my expected result is: {code:none} +--------------------------+ | Field1 | +--------------------------+ |{} {"InnerField1":{"key1":"value1"},"InnerField2":{"key2":"value2"}} {"InnerField3":["value3","value4"],"InnerField4":["value5","value6"]} +--------------------------+ {code} was: There is incorrect output in case of JSON file with complex nested data. Here is a JSON file: {code:none|title=example.json|borderStyle=solid} { "Field1" : { } } { "Field1" : { "InnerField1": {"key1":"value1"}, "InnerField2": {"key2":"value2"} } } { "Field1" : { "InnerField3" : ["value3", "value4"], "InnerField4" : ["value5", "value6"] } } {code} Here is actual result after command "select Field1 from dfs.`/tmp/example.json`;": {code:none} +---------------------------+ | Field1 | +---------------------------+ {"InnerField1":{},"InnerField2":{},"InnerField3":[],"InnerField4":[]} {"InnerField1":{"key1":"value1"},"InnerField2" {"key2":"value2"},"InnerField3":[],"InnerField4":[]} {"InnerField1":{},"InnerField2":{},"InnerField3":["value3","value4"],"InnerField4":["value5","value6"]} +--------------------------+ {code} There is no need to output missing fields. In case of deeply nested structure we will get unreadable for user result. So my expected result is: {code:none} +--------------------------+ | Field1 | +--------------------------+ |{} {"InnerField1":{"key1":"value1"},"InnerField2":{"key2":"value2"}} {"InnerField3":["value3","value4"],"InnerField4":["value5","value6"]} +--------------------------+ {code} > JSON with complex nested data produces incorrect output with missing fields > --------------------------------------------------------------------------- > > Key: DRILL-4824 > URL: https://issues.apache.org/jira/browse/DRILL-4824 > Project: Apache Drill > Issue Type: New Feature > Components: Storage - JSON > Affects Versions: 1.7.0 > Reporter: Roman > Assignee: Roman > Fix For: 1.9.0 > > > There is incorrect output in case of JSON file with complex nested data. Here is a JSON file: > {code:none|title=example.json|borderStyle=solid} > { > "Field1" : { > } > } > { > "Field1" : { > "InnerField1": {"key1":"value1"}, > "InnerField2": {"key2":"value2"} > } > } > { > "Field1" : { > "InnerField3" : ["value3", "value4"], > "InnerField4" : ["value5", "value6"] > } > } > {code} > Here is actual result after command "select Field1 from dfs.`/tmp/example.json`;": > {code:none} > +---------------------------+ > | Field1 | > +---------------------------+ > {"InnerField1":{},"InnerField2":{},"InnerField3":[],"InnerField4":[]} > {"InnerField1":{"key1":"value1"},"InnerField2" {"key2":"value2"},"InnerField3":[],"InnerField4":[]} > {"InnerField1":{},"InnerField2":{},"InnerField3":["value3","value4"],"InnerField4":["value5","value6"]} > +--------------------------+ > {code} > I think it is no need to output missing fields. In case of deeply nested structure we will get unreadable for user result. So my expected result is: > {code:none} > +--------------------------+ > | Field1 | > +--------------------------+ > |{} > {"InnerField1":{"key1":"value1"},"InnerField2":{"key2":"value2"}} > {"InnerField3":["value3","value4"],"InnerField4":["value5","value6"]} > +--------------------------+ > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)