从serde中的现有表字符串字段摄取

sqyvllje  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(329)

我希望使用serde在hive中解析出一个json字符串,但是没有一种简单的方法可以从hive表中已有的字符串中进行解析。你知道我怎么做吗?
为了让我的场景更容易理解,下面是一个我可以尝试的残酷的例子:

ADD JAR hdfs:////user/d/libs/json-serde-1.3.8-jar-with-dependencies.jar;

CREATE Temporary TABLE TN (v string);
Insert overwrite table TN select '
[
    {"t1":31646203,"t2":"h","s1":
       [
         {"r1":"w","r2":"w2"}
       ]
     }
]' as v;

CREATE TABLE deserializeThis (jsonDeserialized array<struct<t1:int,t2:string,s1:array<struct<r1:string, r2:string>>>>)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe';

Insert overwrite table deserializeThis select v FROM TN;

谢谢你的帮助!

7xllpg7q

7xllpg7q1#

为了使用serde,我们可以在文件系统级别进行操作。为此,我们可以将信息推入表中,并使用serde从该位置读取。
这个答案描述了上面的内容:如何使用json serde解析配置单元表的json列?

相关问题