hive中explode函式的用法

2021-10-05 03:26:21 字數 1589 閱讀 1645

explode函式是乙個炸裂函式他可以做一下轉換

將這個**

+--------------+-----------------------------+

| movie.movie | movie.category |

+--------------+-----------------------------+

| 《疑犯追蹤》 |

["懸疑"

,"動作"

,"科幻"

,"劇情"]|

| 《lie to me》 |

["懸疑"

,"警匪"

,"動作"

,"心理"

,"劇情"]|

| 《戰狼2》 |

["戰爭"

,"動作"

,"災難"]|

+--------------+-----------------------------+

轉換成這個**

+--------------+-----+

| movie | ty |

+--------------+-----+

| 《疑犯追蹤》 | 懸疑 |

| 《疑犯追蹤》 | 動作 |

| 《疑犯追蹤》 | 科幻 |

| 《疑犯追蹤》 | 劇情 |

| 《lie to me》 | 懸疑 |

| 《lie to me》 | 警匪 |

| 《lie to me》 | 動作 |

| 《lie to me》 | 心理 |

| 《lie to me》 | 劇情 |

| 《戰狼2》 | 戰爭 |

| 《戰狼2》 | 動作 |

| 《戰狼2》 | 災難 |

+--------------+-----+

用法為

select

movie,

tyfrom

movie

lateral view explode(category) t as ty

;

1.建表的時候必須將要炸裂的字段搞成array格式,或者map格式

2.這個字段必須用collection items terminated by 『,』 進行切分才能炸裂

create

table movie (

movie string,

category array

)row format delimited fields

terminated

by'\t'

collection items terminated

by','

;load

data

local inpath '/root/mov.txt' overwrite into

table movie;

如果不是這種格式我們要不重新建乙個表,要不將格式類行進行轉換!

hive 之行拆列explode

1 explode explode array 列表中的每個元素生成一行 explode map map中每個key value對,生成一行,key為一列,value為一列 限制 1 no other expressions are allowed in select select pageid,e...

php中explode函式用法分析

explode string separator,string string int limit separator 為空字串 explode 將返回 false,如果 separator 所包含的值在 string 中找不到,那麼 explode 將返回包含 string 單個元素的陣列.expl...

explode 函式和implode 函式

explode 函式把字串分割為陣列 explode separator,string,limit separator 必需。規定在 分割字串。string 必需。要分割的字串。limit 可選。規定所返回的陣列元素的最大數目。例子 str hello world.it s a beautiful ...