




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南汽车工程职业学院教师授课教案第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T-ZNZ 264.1-2024 重金属中度污染农田土壤修复和安全利用技术规范 第1部分:超积累东南景天与油葵轮作
- 二零二五年度车辆转让与二手车交易及金融服务协议
- 2025年度蛋糕店与体育赛事合作赞助协议
- 2025年度道路桥梁维修施工安全协议书
- 2025年度网络安全产品销售提成与技术服务合同
- 二零二五年度企业员工宿舍三方租赁协议
- 二零二五年度临时厨房工作人员聘用合同
- 二零二五年度个体商户劳动合同(体育赛事组织与运营)
- 中学生环保行动策划案解读
- 监控项目合作合同监控施工合同
- 中国骨关节炎诊疗指南(2024版)解读
- 【历史】2025年春季七下历史新教材课本答案大全(想一想、材料研读、读地图、课后活动)
- 高端写字楼物业管理思路
- 江苏省中小学生金钥匙科技竞赛(高中组)考试题及答案
- 2024-2030年中国ORC低温余热发电系统行业商业模式创新规划分析报告
- 【MOOC】三维设计与表达-北京林业大学 中国大学慕课MOOC答案
- 妇幼健康信息平台共享数据集应用规范第1部分孕产妇保健
- 输液港的输液与维护
- 非洲猪瘟病毒基因IⅡ型重组毒株、基因I型弱毒株和基因Ⅱ型毒株鉴别三重荧光PCR检测方法
- 2024解析:第十四章内能的利用-讲核心(解析版)
- 各类应急风险预案的防范
评论
0/150
提交评论