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 ...