博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HIVE常用操作以及函数
阅读量:6828 次
发布时间:2019-06-26

本文共 2761 字,大约阅读时间需要 9 分钟。

hot3.png

一、常用操作

1. 查看数据表列表

show tables [like '*name*'];

2. 创建表

内部表和外部表区别:内部表即完全交给hive管理表,在创建时会将数据移动到数据仓库所 在的路径,删除时会删除数据源文件。外部表即增加hive管理的数据文件,创建时需要记录 数据所在的路径,不会移动数据源文件,删除时不会删除数据源文件

  • 创建内部表
create table {tableName}(    {columnName} {columnType},    {columnName} {columnType}) [row format delimited fields terminated by '\t'];
  • 创建外部表
create external table {tableName}(    {columnName} {columnType},    {columnName} {columnType}) [row format delimited fields terminated by '\t' location '{HDFS_path}'];
  • 创建分区表
create [external] table {tableName}(    {columnName} {columnType},    {columnName} {columnType}) partitioned by(    {columnName} {columnType},    {columnName} {columnType}) [row format delimited fields terminated by '\t' location '{HDFS_path}'];

默认分隔符为'\001'

3. 查看表信息

  • 查看表结构
desc {tableName};或{desc formatted}/{describe} {tableName};
  • 查看分区信息
show partitions {tableName};

4. 数据导入

  • 文件导入
// 从hdfs中导入,是否覆盖load data inpath '{HDFSPath}' [overwrite] into table {tableName};// 从linux本地导入,是否覆盖load data local inpath '{localPath}' [overwrite] into table {tableName};
  • hive数据查询导入
// insert into与sql语法一致insert [overwrite] into table {dstTableName} select {needColumns} from {srcTableName};

5. 查看可用函数

// 可用函数列表show functions;// 查看函数描述信息desc function {functionName};

二、常用函数

1. 取整函数

  • 四舍五入:round({value}[,precision])

1~4:舍,5~9:进,传入两个参数时可指定精度

  • 银行家舍入法:bround({value}[,precision])

1~4:舍,6~9:进,5->前一位是偶数:舍,前一位是奇数:进,传入两个参数时可指定精 度

2. 向下取整函数

floor({value})

3. 向上取整函数

ceil/ceiling({value})

4. 生成随机数

rand([{seed}]):返回一个0到1范围内的随机数,传入参数时可生成稳定的随机数

5. 自然指数函数

自然指数e的n次方:exp({n})

6. 对数函数

  • 以10为底的对数函数:log10({value})
  • 以2为底的对数函数:log2({value})
  • 以e为底的对数函数:ln({value})
  • 对数函数:log({base},{value})

7. 获取日期函数

unix_timestamp() //获取的是时间戳

8. 时间戳转换函数

  • UNIX时间戳转日期:from_unixtime({unixTime}[,{formatString}])
  • 日期转UNIX时间戳:unix_timestamp({timeString}[,{formatString}])

9. 日期截取函数

  • 返回日期部分:to_date({timeString})
  • 返回日期的年:year({timeString})
  • 返回日期的月:month({timeString})
  • 返回日期的天:day({timeString})
  • 返回日期的时:hour({timeString})
  • 返回日期的分:minute({timeString})
  • 返回日期的秒:second({timeString})
  • 返回日期的周:weekofyear({timeString})

10. 日期计算函数

  • 日期比较函数:datediff({endDate},{startDate})
  • 日期增加函数:date_add({startData},{days})
  • 日期减少函数:date_sub({startData},{days})

11. 字符串函数

  • 字符串长度函数:length({stringValue})
  • 字符串反转函数:reverse({stringValue})
  • 字符串连接函数

无分隔符连接函数:concat({stringValues})

分隔符连接函数:concat_ws({separator},{stringValues})

12. 字符串截取函数

  • substr/substring({stringValue},{index}):当index为正数时,截取从index至结尾的字符 串,当index为负数时,截取后index个字符,index的值不能超过字符串长度
  • substr/substring({stringValue},{index},{length}):截取从index开始,长度为length的字 符,index为正数时,索引从左边开始,index为负数时,索引从右边开始

13. 大小写转换函数

  • 转大写函数:upper/ucase ({stringValue})
  • 转小写函数:lower/lcase({stringValue})

14. 去空格函数

  • 两边去空格函数:trim({stringValue})
  • 左边去空格函数:ltrim({stringValue})
  • 右边去空格函数:rtrim({stringValue})

转载于:https://my.oschina.net/yulang/blog/2051626

你可能感兴趣的文章
react-router 学习笔记
查看>>
tomcat安装配置
查看>>
Struts2.0+Hibernate2.5+Spring3.0搭建JavaEE项目要用的jar
查看>>
Lync Server 2010调整用户设置时,报“访问特权不够”错误解决方法
查看>>
2013互联网公司,年终奖有几何?
查看>>
互联网
查看>>
MySQL load data 权限相关
查看>>
ribbon重试机制
查看>>
修改sql数据库文件 物理文件名称
查看>>
关于PHP 时区错误的问题
查看>>
ScriptManager.RegisterStartupScript失效的解决方案
查看>>
vsftpd 添加用户
查看>>
运行 python 脚本错误:urllib2.URLErroe:<urlopen error unknown url type : https>
查看>>
递归方法
查看>>
Sonar+maven+jenkins集成,Java代码走查
查看>>
浏览器渲染页过程描述
查看>>
js中点击返回顶部
查看>>
Gtest源码剖析:1.实现一个超级简单的测试框架xtest
查看>>
UEditor 是一套开源的在线HTML编辑器
查看>>
Linux 命令简介
查看>>