0

我正在寻找使用 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;

感谢你的帮助!

4

1 回答 1

0

为了使用 SerDe,我们可以在文件系统级别上进行操作。为此,我们可以将信息推送到表中,并使用 SerDe 从该位置读取。

这个答案描述了上述内容: 如何使用 Json serde 解析 Hive 表的 Json 列?

于 2017-11-27T19:00:20.847 回答