我有一个具有以下结构的json文件:
{
"0.0.1":{
"version":"0.0.1",
"date_created":"2014-03-15"
},
"0.1.2":{
"version":"0.1.2",
"date_created":"2014-05-21"
}
}
正如您所看到的,整个json文件只包含一个对象,该对象是一个映射,其中每个键都是版本号,值是带有version和date_created属性的新映射。
我想使用Apache Drill获取包含两列的列表:version和date_created
但由于键包含点(例如“0.0.1”),Drill会抛出以下错误:
Error: SYSTEM ERROR: UnsupportedOperationException: Unhandled field reference "0.0.1"; a field reference identifier must not have the form of a qualified name (i.e., with ".").
...运行这样的查询时:
SELECT KVGEN(t.*) FROM dfs.`D:/drill/sample-data/myjsonfile.json` AS t;
顺便说一句,你如何告诉KVGEN处理整个行,因为行对象是我们要转换的实际地图?
关于如何克服这个问题的任何想法?
更新
有人要求获取更多样本数据,请点击以下内容:
{
"0.0.1":{
"version":"0.0.1",
"date_created":"2014-03-15"
},
"0.1.2":{
"version":"0.1.2",
"date_created":"2014-05-21"
},
"0.1.5":{
"version":"0.1.5",
"date_created":"2014-05-29"
},
"0.1.7":{
"version":"0.1.7",
"date_created":"2014-06-13"
},
"1.0.0":{
"version":"1.0.0",
"date_created":"2014-07-05"
},
"1.1.0":{
"version":"1.1.0",
"date_created":"2014-09-02"
}
}