
hive
普罗米修斯之火
这个作者很懒,什么都没留下…
展开
-
Hive 的 TRANSFORM 自定义函数
Hive 的 TRANSFORM 关键字提供了在 SQL 中调用自写脚本的功能。适合实现 Hive 中没有的 功能 又不想写 UDF 的情况,脚本一般都是python写的。Json 数据: {"movie":"1193","rate":"5","timeStamp":"978300760","uid":"1"} 需求:把json的字段timeStamp转换为日期编号。 1、先加载 rating.json 文件到 hive 的一个原始表 rate_json create table rate_js原创 2020-10-28 23:29:25 · 260 阅读 · 0 评论 -
hive使用动态分区插入数据详解
往hive分区表中插入数据时,如果需要创建的分区很多,比如以表中某个字段进行分区存储,则需要复制粘贴修改很多sql去执行,效率低。因为hive是批处理系统,所以hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。1.创建一个单一字段分区表hive> create table dpartition(id int ,name string ) partitioned by(ct string );2.往表里装载数据,并且动态建立分区,以city建立转载 2020-10-23 18:20:36 · 1666 阅读 · 1 评论 -
大数据之hive_hive的企业级调优
简单调优:1.测试数据可以本地模式运行2.select 字段时禁止使用* 还可以加上where 进行行列过滤3.select from a join b 时避免直接join,因为会产生笛卡尔积,建议加上on进行过滤,减少数据量4.使用group by name进行count(name)聚合,比count(distinct name)聚合效率更高5.count(1)>count(*)>count(字段)6.可以适当减少或增多mapreduce的个数,加快执行效率https:/原创 2020-09-04 22:28:05 · 256 阅读 · 0 评论 -
大数据之hive_hive的行装列和列转行
行转列1.相关函数说明collect_list(col):函数只接受基本数据类型,它的主要作用是将某字段的值进行不去重汇总,产生array类型字段,将多行数据转成一行一列存储在数组中.collect_set(col):函数只接受基本数据类型,它的主要作用是将某字段的值进行去重汇总,产生array类型字段,将多行数据转成一行一列存储在数组中.2.数据准备name constellation blood_type孙悟空 白羊座 A娜娜 射手座 A宋宋 白羊座 B猪八戒 白羊座 A凤姐 射手座原创 2020-09-04 22:00:17 · 391 阅读 · 0 评论 -
大数据之hive_hive中集合类型的使用
集合数据类型数据类型 描述 语法示例STRUCT(结构体)对象 和c语言中的struct类似,都可以通过“点”符号访问元素内容。例如,如果某个列的数据类型是STRUCT{first STRING, last STRING},那么第1个元素可以通过字段.first来引用。 struct()MAP 映射 MAP是一组键-值对元组集合,使用数组表示法可以访问数据。例如,如果某个列的数据类型是MAP,其中键->值对是’first’->’John’和’last’->’Doe’,那么可以通过字段原创 2020-09-04 21:25:42 · 1406 阅读 · 0 评论 -
大数据之hive_hive中常用函数解析及自定义函数_jdbc的使用
常用函数nvl(sal,0) 如果字段sal的值为null就返回0concat(str1,str2,str3) 将三个字符串拼接起来concat_ws("-",str1,str2,str3) 将三个字符串用"-“符号拼接起来concat_ws(”-",arr1,arr2,arr3) 将数组内的元素用"-“符号拼接起来split(“abc bcd def”,” “) 将字符串用空格切割开,并放入数组中cast(“123”,int) 将字符串转换成int类型的数字date_sub原创 2020-09-04 20:16:36 · 334 阅读 · 0 评论 -
大数据之hive_hive的排序方式
全局排序 Order ByOrder By:全局排序,一个Reducer1.使用 ORDER BY 子句排序ASC(ascend): 升序(默认)DESC(descend): 降序2.ORDER BY 子句在SELECT语句的结尾3.案例实操(1)查询员工信息按工资升序排列hive (default)> select * from emp order by sal;(2)查询员工信息按工资降序排列hive (default)> select * from emp orde原创 2020-09-03 22:36:26 · 1001 阅读 · 0 评论 -
大数据之hive_hive之分桶表
分桶表的概念对Hive(Inceptor)表分桶可以将表中记录按分桶键(字段)的哈希值分散进多个文件中,这些小文件称为桶。分区针对的是数据的存储路径;分桶针对的是数据文件。分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的分区,特别是之前所提到过的要确定合适的划分大小这个疑虑。分桶是将数据集分解成更容易管理的若干部分的另一个技术。把表分区和分桶有两个理由1,分桶,当两个表进行join连接时,第一个表中的一条数据去第二个表中找相同的值的时候,往往需要找完整张表,才能找出原创 2020-09-03 21:57:34 · 482 阅读 · 0 评论 -
大数据之hive_hive的窗口函数
窗口函数我们在对表的某个字段中的相同的值进行分组聚合时,我们还想对聚合之前的这些相同的值所对应的一些数据进行一些局部运算的操作,这时候就需要使用到窗口函数.1.相关函数说明OVER():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化CURRENT ROW:当前行 current rown PRECEDING:往前n行数据 n precedingn FOLLOWING:往后n行数据 n followingUNBOUNDED:起点, unboundedU原创 2020-09-03 21:01:33 · 294 阅读 · 0 评论 -
大数据之hive_hive的对表的操作命令
创建表1.建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] --(COMMENT :注释)[COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] 分区[CLUSTERED BY (col_name, col_name原创 2020-09-02 22:54:48 · 1965 阅读 · 0 评论 -
大数据之hive_hive的基础查询语句
– 求MF的平均年龄selectgender,avg(age) as avg_agefromtb_user group by gender ;+---------+----------+| gender | avg_age |+---------+----------+| F | 32.0 || M | 27.0 |+---------+----------+–按性别分区,然后求出平均工资大于2000的selectgender,a原创 2020-09-01 19:16:50 · 676 阅读 · 0 评论 -
大数据之hive_hive对数据库的基础操作命令
Hive数据类型Hive数据类型 Java数据类型 长度 例子TINYINT byte 1byte有符号整数 20SMALINT short 2byte有符号整数 20INT int 4byte有符号整数 20BIGINT long 8byte有符号整数 20BOOLEAN boolean 布尔类型, true或者false TRUE FALSEFLOAT float 单精度浮点数 3.14159DOUBLE原创 2020-09-01 19:10:04 · 304 阅读 · 0 评论 -
大数据之hive_hive的基础介绍,及安装
hive的基础介绍什么时hive:hive是由Facebook开源用于解决海量结构化日志的数据统计(海量的结构化数据的运算分析)hive是基于Hadoop的一个数据仓库工具(服务型软件),可以将结构化的数据文件映射为一张表,并提供类似于sql查询.HQL本质是:将hive sql转换成mapreduce程序或spark程序hive处理的数据储存在hdfs中hvie分析数据底层实现的是mapreduce或spark(分布式运行框架)hive执行的程序是在yarn上的Hive的优缺点优点1)操原创 2020-08-23 21:58:47 · 324 阅读 · 0 评论