如何从配置单元 SQL table 描述生成 json 对象?
How to generate json object from hive SQL table description?
我使用 describe formatted table_name
获取 table 的描述。我得到以下结果。我想以某种方式将其转换为 json 。有什么好的方法吗?换句话说,我想让我的 sql table 描述为 json。不像下面输出中显示的那样 table。
我想要得到的输出应该是这样的:
{
"columns" : {
"id" : "int",
"name": "string"
},
"partition_information": {
"columns" : {
"dt_temp" : "string"
}
},
"Detailed table information" : {
"Database" : "d1",
"owner" : "root",
.
.
.
.
.
}
}
是否有任何函数或库可以为我执行此操作?现在,我正在使用 python 脚本手动执行此操作,但这非常困难且混乱。我不希望得到与我提到的完全相同的输出,我正在寻找一种方法来从某些 python 脚本中轻松而有意义地解析它。有什么建议吗?
DESCRIBE EXTENDED 可以产生 JSON(已检查它在 Hive 2.1.1 上工作正常):
set hive.ddl.output.format=json;
desc extended table_name;
它产生这样的输出:
{"columns":[{"name":"id","type":"bigint","comment":"from deserializer"},
{"name":"col1","type":"string","comment":"from deserializer"},
...
我使用 describe formatted table_name
获取 table 的描述。我得到以下结果。我想以某种方式将其转换为 json 。有什么好的方法吗?换句话说,我想让我的 sql table 描述为 json。不像下面输出中显示的那样 table。
我想要得到的输出应该是这样的:
{
"columns" : {
"id" : "int",
"name": "string"
},
"partition_information": {
"columns" : {
"dt_temp" : "string"
}
},
"Detailed table information" : {
"Database" : "d1",
"owner" : "root",
.
.
.
.
.
}
}
是否有任何函数或库可以为我执行此操作?现在,我正在使用 python 脚本手动执行此操作,但这非常困难且混乱。我不希望得到与我提到的完全相同的输出,我正在寻找一种方法来从某些 python 脚本中轻松而有意义地解析它。有什么建议吗?
DESCRIBE EXTENDED 可以产生 JSON(已检查它在 Hive 2.1.1 上工作正常):
set hive.ddl.output.format=json;
desc extended table_name;
它产生这样的输出:
{"columns":[{"name":"id","type":"bigint","comment":"from deserializer"},
{"name":"col1","type":"string","comment":"from deserializer"},
...