数据仓库Hive应用实战 教案89-92课时:HIVE内置函数(二)_第1页
数据仓库Hive应用实战 教案89-92课时:HIVE内置函数(二)_第2页
数据仓库Hive应用实战 教案89-92课时:HIVE内置函数(二)_第3页
数据仓库Hive应用实战 教案89-92课时:HIVE内置函数(二)_第4页
数据仓库Hive应用实战 教案89-92课时:HIVE内置函数(二)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南汽车工程职业学院教师授课教案第12周第1-4课时累计92课时课程名称数据仓库HIVE应用授课课题HIVE内置函数(二)授课专业班级大数据2101班、2102班、2103班教学目标1、掌握日期函数的运用2、掌握类型转换函数的运用教学要点教学重点日期函数和类型转换函数的运用教学难点应用日期函数和类型转换函数解决实际问题课型一体化授课教法与学法(教具)示范演示法、任务驱动教学法、分组合作教学法课后作业完成超星学习平台作业、看视频熟练操作教学后记(教师课后填写)1、结合项目要多练;2、鼓励学生之间要相互请教、相互帮忙,合作解决问题,有利于他们能力的增长;3、掌握思维导图对于知识体系构建的重要性。授课教师王海霞、黄史记【课前复习】常见的聚合函数有哪些,各有什么用?【作业点评】展示智课堂学生作业完成情况,并做点评。【学习目标】以“学生信息系统”项目为实操载体,完成类型转换函数和日期函数在实际问题中的使用。【课程导入】前面我们已经认识了常用的内置函数(聚合函数、集合函数、数学函数),今天继续学习类型转换函数和日期函数,掌握其基本操作。【新课讲授】一、类型转换函数类型转换函数是对查询结果的数据类型进行转换,适用于基本数据类型数据的操作。以下通过表6-4介绍Hive内置的类型转换函数。表6-SEQ表6-\*ARABIC4Hive内置的类型转换函数类型转换函数名返回值类型用法描述BINARY()BINARYBINARY(string|binary):将列中的值转为二进制。CAST()TYPECAST(expr

as

<type>):将expr转换成数据类型type。如:cast("1"asBIGINT)将字符串1转换成了BIGINT类型,如果转换失败将返回NULL【讲练结合】【例6-10】使用CAST函数将每个学生Hive课程成绩转换成INT格式。SELECTstname,course_scores['Hive'],CAST(course_scores['Hive']asINT)FROMstudentdb.student;图6-SEQ图6-\*ARABIC14学生Hive课程成绩转换成INT格式【新课讲授】一、日期函数日期函数是对日期数据类型的数据进行操作,以下通过表6-5介绍Hive内置的日期函数。表6-SEQ表6-\*ARABIC5Hive内置的日期函数日期函数名返回类型用法描述FROM_UNIXTIME()STRINGFROM_UNIXTIME(BIGINT

unixtime,

STRING

format):将unixtime(UNIX时间戳)转换成format格式,format可为“yyyy-MM-dd

HH:mm:ss”,“yyyy-MM-dd”,“yyyy-MM-dd

HH”等等。若HH为小写hh则使用12小时制。UNIX_TIMESTAMP()BIGINTUNIX_TIMESTAMP():获取本地UNIX时间戳。UNIX_TIMESTAMP(STRING

date):将日期字符串date转换为UNIX时间戳。TO_DATE()STRINGTO_DATE(STRING

date):获取日期字符串date的日期。YEAR()INTYEAR(STRING

date):获取日期字符串date的年。QUARTER()INTQUARTER(STRING

date):获取日期字符串date所属的季度。HOUR()INTHOUR(STRING

date):获取日期字符串date的小时。MINUTE()INTMINUTE(STRING

date):获取日期字符串date的分钟。SECOND()INTSECOND(STRING

date):获取日期字符串date的秒。WEEKOFYEAR()INTWEEKOFYEAR(STRING

date):获取日期字符串date在一年中的第几周。DATEDIFF()INTDATEDIFF(STRING

enddate,

STRING

startdate):计算从开始日期startdate到结束日期enddate相差多少天。DATE_ADD()STRINGDATE_ADD(STRING

startdate,

INT

days):返回开始日期startdate加上天数days的日期,不包含时间。DATE_SUB()STRINGDATE_SUB(STRING

startdate,

INT

days):返回开始日期startdate减去天数days的日期,不包含时间。FROM_UTC_TIMESTAMP()TIMESTAMPFROM_UTC_TIMESTAMP(STRING

date,

STRING

timezone):如果给定的时间date并非UTC,则将其转化成指定的时区timezone下时间。CURRENT_DATE()DATECURRENT_DATE():获取当前日期不包括时间。CURRENT_TIMESTAMP()TIMESTAMPCURRENT_TIMESTAMP():获取当前日期包括时间。ADD_MONTHS()STRINGADD_MONTHS(STRING

start_date,

INT

num_months):返回开始日期startdate加上月num_mongths的日期。LAST_DAY()STRINGLAST_DAY(STRING

date):指定日期date所在月的最后一天日期,不包含时间。NEXT_DAY()STRINGNEXT_DAY(STRING

start_date,

STRING

day_of_week):返回开始日期start_date在下一周day_of_week的日期,其中day_of_week指星期几,用英文星期一至星期日填写。TRUNC()STRINGTRUNC(STRING

date,

STRING

format):返回日期date的最开始年或月,若format为MM则返回日期date所在月的第一天日期,若format为YY则返回日期date所在年的第一天日期。MONTHS_BETWEEN()DOUBLEMONTHS_BETWEEN(STRING

date1,

STRING

date2):比较两个时间date1和date2相差几个月。DATE_FORMAT()STRINGDATE_FORMAT(STRING

date,

STRING

format):以指定格式format格式化日期date。TO_UTC_TIMESTAMP()TIMESTAMPTO_UTC_TIMESTAMP(STRING

date,

STRING

timezone):如果给定的时间date是指定时区timezone下时间,则将其转化成UTC下的时间。ADD_MONTHS()STRINGADD_MONTHS(STRING

start_date,

INT

num_months):返回开始日期startdate加上月num_mongths的日期。【讲练结合】【例6-11】北京天安门广场国旗的升降时间根据北京的日出日落时间确定,当太阳上部边缘与天安门广场所见地平线相切时,为升旗时间;傍晚,当太阳上部边缘与天安门广场地平线相平时,为降旗时间。中华人民共和国成立70周年当日的升旗时间为“2019-10-0106:10:00”,请使用MINUTE()函数获取当日升旗时间中的分钟。SELECTMINUTE("2019-10-0106:10:00")minute;图6-SEQ图6-\*ARABIC15使用MINUTE()函数获取分钟以上查询结果表明,MINUTE()函数获取到日期字符串"2019-10-0106:10:00"中的分钟。【例6-12】学生Zhangdan的生日是每年的12月31日,从今天开始算起,距离Zhangdan生日还有多少天呢?SELECTDATEDIFF(CURRENT_DATE(),"2022-12-31")days;图6-SEQ图6-\*ARABIC16使用它DATEDIFF()函数计算两个日期相差天数以上查询结果表明,通过CURRENT_DATE()函数获取当前会话时区中的当前日期,DATEDIFF()函数获取到当天与"2022-12-31"两个日期的相差天数。【例6-13】中华人民共和国数据安全法于2021年9月1日起施行,至今该法已经实施有多少个月了,使用MONTHS_BETWEEN()函数进行计算?SELECTCURRENT_DATE()today,MONTHS_BETWEEN(CURRENT_DATE(),'2021-09-01')up_to_now;图6-SEQ图6-\*ARABIC17使用MONTHS_BETWEEN()函数计算两个日期相差月数以上查询结果表明,MONTHS_BETWEEN()函数计算出当前日期为2022-11-25,与2021年9月1日相差14.77419355个月。【例6-14】使用DATE_SUB()函数获取本周一的日期。SELECTCURRENT_DATE()today,DATE_SUB(NEXT_DAY(CURRENT_DATE(),"Monday"),7)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论