如何从配置单元SQL表描述生成json对象?
我使用如何从配置单元SQL表描述生成json对象?,json,hive,hiveql,hiveddl,Json,Hive,Hiveql,Hiveddl,我使用descripe formatted table\u name获取表的描述。我得到以下结果。我想以某种方式将其转换为json。有什么好办法吗?换句话说,我希望以json的形式获取我的sql表描述。不是像下面输出中所示的表那样的表 我想要得到的输出应该如下所示: { "columns" : { "id" : "int", "name": "string"
descripe formatted table\u name
获取表的描述。我得到以下结果。我想以某种方式将其转换为json。有什么好办法吗?换句话说,我希望以json的形式获取我的sql表描述。不是像下面输出中所示的表那样的表
我想要得到的输出应该如下所示:
{
"columns" : {
"id" : "int",
"name": "string"
},
"partition_information": {
"columns" : {
"dt_temp" : "string"
}
},
"Detailed table information" : {
"Database" : "d1",
"owner" : "root",
.
.
.
.
.
}
}
是否有任何函数或库可以为我这样做?现在,我正在使用python脚本手动执行此操作,但这非常困难和混乱。我不期望得到与我提到的完全相同的输出,我正在寻找一种方法,从一些python脚本中轻松而有意义地解析它。有什么建议吗?描述扩展可以生成JSON(选中它在Hive 2.1.1上运行良好): 它产生如下输出:
{"columns":[{"name":"id","type":"bigint","comment":"from deserializer"},
{"name":"col1","type":"string","comment":"from deserializer"},
...
感谢这个解决方案,但它并没有给我完整的json对象。我只获取列名及其类型,其余信息在json对象中丢失。json对象中未接收到包括分区列、输入格式在内的信息。@RuchitVithani在我的配置单元2.1.1中返回了“PartitionKey迭代器”数组、“inputFormat”、“outputFormat”@RuchitVithani DESC FORMATTED不返回PartitionKey迭代器和inputFormat,但DESC EXTENDED works,请检查您是否使用了DESC EXTENDEDYep,这起作用了。感谢您提供的解决方案:)可以从这样的json对象点击CreateTable查询吗?
{"columns":[{"name":"id","type":"bigint","comment":"from deserializer"},
{"name":"col1","type":"string","comment":"from deserializer"},
...