前言
对字符串截取,这里主要有两种方法:
一是用split截取字符串
二是用substr截取字符串
提示:以下是本篇文章正文内容
一、目标
将hive中movie表的年份数字取出来,并统计每一年有多少部电影
二、截取字符串,取出年份数字
1.split
注:在分割时加“\\”是因为()是特殊字符,需要加\\才能让hive识别
(1)因为数据太多,先用一条数据来测试,也就是movieId=1这条数据
select split(title,"\\(") from yiqianbin_movie where movieId=1;
select split(title,"\\(")[1] from yiqianbin_movie where movieId=1;
select split(split(title,"\\(")[1],"\\)")[0] from yiqianbin_movie where movieId=1;
(2)取出了1995,那么就可以直接去掉后面where的条件,查出全部的年份
select split(split(title,"\\(")[1],"\\)")[0] from yiqianbin_movie;
2.substr
注:这里加 where title<>"title" 是为了去掉表头“title”
三、统计每个数字出现了多少次