我们如何在snowflake中复制hive嵌套结构?

x33g5p2x  于 2022-11-05  发布在  Hive
关注(0)|答案(1)|浏览(115)

我在数据库中有嵌套的结构数据,我需要将其迁移到雪花中,我如何在雪花中复制嵌套的结构。在雪花中,我没有结构数据类型,它只是一个变量。

ukxgm1gy

ukxgm1gy1#

所以谷歌发现:
https://gist.github.com/irajhedayati/c595e349d68b7a5074da81f1b8c6eec5
它包含如下代码:

INSERT into calls_nested
SELECT
    '5' AS call_id, 
    'Jack' AS name, 
    45 AS age, 
    named_struct('first_name', 'Joe', 'last_name', 'Doe') AS account, 
    named_struct('home', '514-111-2222', 'work', '514-333-4444') AS phone_directory,
    array(
        named_struct('street', '1 Guy', 'city', 'Montreal'),
        named_struct('street', '1 McGill', 'city', 'Montreal')
    ) AS addresses;

一个月零一个月-〉一个月一个月一个月-〉一个月二个月一个月-〉一个月三个月一个月
如果你想的话,你可以一直把它们堆起来

SELECT
    '5' AS call_id, 
    'Jack' AS name, 
    45 AS age, 
    object_construct('first_name', 'Joe', 'last_name', 'Doe') AS account, 
    object_construct('home', '514-111-2222', 'work', '514-333-4444') AS phone_directory,
    array_construct(
        object_construct('street', '1 Guy', 'city', 'Montreal'),
        object_construct('street', '1 McGill', 'city', 'Montreal')
    ) AS addresses,
    object_construct('call_id', call_id, 'name', name, 'age' ,age, 'account', account, 'phone_directory', phone_directory, 'addresses',addresses) as object_of_objects
    ;

| 调用标识|名称|年龄|客户|电话目录|地址|对象的对象|
| - -|- -|- -|- -|- -|- -|- -|
| 五个|杰克|四十五|{“名字”:“乔”、“姓”:“母鹿”}|{“家庭”:“514-111-2222”,“工作”:“514-333-4444”}|[ {“城市”:《蒙特利尔》、《街道》:“1 Guy”},{“城市”:《蒙特利尔》、《街道》:“1麦吉尔”} ]|{“账号”:{“名字”:“乔”、“姓”:“姓名”},“地址”:[ {“城市”:《蒙特利尔》、《街道》:“1 Guy”},{“城市”:《蒙特利尔》、《街道》:“1麦吉尔”} ],《时代》:45、“呼叫标识”:“5”、“姓名”:“杰克”,“电话_目录”:{“家庭”:“514-111-2222”,“工作”:“514-333-4444”} }|

相关问题