hive的使用

需要交流请进群-- 494831900 --我和群中朋友会及时回答


1:执行hive 命令进入 hiveShell

2:查看数据库 show databases;
3:hive 默认是default数据库  use default;  
4:查看数据库中的表 show tables;
5:创建一张新表 create table test_table( value string);
6:加载数据到test_table 表中 load data local inpath '/usr/local/data/test.txt' into table test_table;
7:查看数据  select * from test_table; select count(*) from test_table;  删除表为 drop table test_table;
8:Hive的数据模型-分区表
CREATE TABLE tmp_table #表名
(
title   string, # 字段名称 字段类型
minimum_bid     double,
quantity        bigint,
have_invoice    bigint
)COMMENT '注释:XXX' #表注释
PARTITIONED BY(pt STRING) #分区表字段(如果你文件非常之大的话,采用分区表可以快过滤出按分区字段划分的数据)
ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY '\001'   # 字段是用什么分割开的
STORED AS SEQUENCEFILE; #用哪种方式存储数据,SEQUENCEFILE是hadoop自带的文件压缩格式


 


CREATE TABLE login_table ( id string,terminalCode string,loginTime string,terminalType string,mac string,deviceCode string,hour string,week string,day string,month string,clientIp string,enterpriseId string,enterprise string,operationId string,operation string,service string,routeId string,route string,plateNumber string,serviceId string) partition by (day string) COMMENT 'wckj' ROW FORMAT DELIMITED  FIELDS TERMINATED BY '\,' stored as TEXTFILE;


如何把hive查询出来的数据存数一个文本中:hive -e 'sql' >test.log  

-f 是指执行文件中的sql

-i,-i 能够与任意参数同时使用。多个 –i 的实例可以用来执行多个初始化脚本scripts



Hive函数大全–完整版

现在虽然有很多SQL ON Hadoop的解决方案,像Spark SQL、Impala、Presto等等,但就目前来看,在基于Hadoop的大数据分析平台、数据仓库中,Hive仍然是不可替代的角色。尽管它的相应延迟大,尽管它启动MapReduce的时间相当长,但是它太方便、功能太强大了,做离线批量计算、ad-hoc查询甚至是实现数据挖掘算法,而且,和HBase、Spark都能整合使用。

如果你是做大数据分析平台和数据仓库相关的,就目前来说,我建议,Hive是必须的。

很早之前整理过Hive的函数,不过是基于0.7版本的,这两天抽时间更新了下,基于Hive0.13,比之前的完整了许多。

整理成文档,希望能给Hive初学者和Hive使用者有所帮助。Hive自带的UDF函数非常多,整理出来有40多页。下载地址在文章最后面。

如果该文档对你的学习和工作有所帮助,那么请多多支持我的博客。

Hive函数大全 目录:

一、关系运算:
1. 等值比较: =
2. 等值比较:<=>
3. 不等值比较: <>和!=
4. 小于比较: <
5. 小于等于比较: <=
6. 大于比较: >
7. 大于等于比较: >=
8. 区间比较
9. 空值判断: IS NULL
10. 非空判断: IS NOT NULL
10. LIKE比较: LIKE
11. JAVA的LIKE操作: RLIKE
12. REGEXP操作: REGEXP
二、数学运算: 
1. 加法操作: +
2. 减法操作: –
3. 乘法操作: *
4. 除法操作: /
5. 取余操作: %
6. 位与操作: &
7. 位或操作: |
8. 位异或操作: ^
9.位取反操作: ~
三、逻辑运算:  
1. 逻辑与操作: AND 、&&
2. 逻辑或操作: OR 、||
3. 逻辑非操作: NOT、!
四、复合类型构造函数    
1. map结构
2. struct结构
3. named_struct结构
4. array结构
5. create_union
五、复合类型操作符 
1. 获取array中的元素
2. 获取map中的元素
3. 获取struct中的元素
六、数值计算函数  
1. 取整函数: round
2. 指定精度取整函数: round
3. 向下取整函数: floor
4. 向上取整函数: ceil
5. 向上取整函数: ceiling
6. 取随机数函数: rand
7. 自然指数函数: exp
8. 以10为底对数函数: log10
9. 以2为底对数函数: log2
10. 对数函数: log
11. 幂运算函数: pow
12. 幂运算函数: power
13. 开平方函数: sqrt
14. 二进制函数: bin
15. 十六进制函数: hex
16. 反转十六进制函数: unhex
17. 进制转换函数: conv
18. 绝对值函数: abs
19. 正取余函数: pmod
20. 正弦函数: sin
21. 反正弦函数: asin
22. 余弦函数: cos
23. 反余弦函数: acos
24. positive函数: positive
25. negative函数: negative
七、集合操作函数    
1. map类型大小:size
2. array类型大小:size
3. 判断元素数组是否包含元素:array_contains
4. 获取map中所有value集合
5. 获取map中所有key集合
6. 数组排序
八、类型转换函数 
1. 二进制转换:binary
2. 基础类型之间强制转换:cast
九、日期函数   
1. UNIX时间戳转日期函数: from_unixtime
2. 获取当前UNIX时间戳函数: unix_timestamp
3. 日期转UNIX时间戳函数: unix_timestamp
4. 指定格式日期转UNIX时间戳函数: unix_timestamp
5. 日期时间转日期函数: to_date
6. 日期转年函数: year
7. 日期转月函数: month
8. 日期转天函数: day
9. 日期转小时函数: hour
10. 日期转分钟函数: minute
11. 日期转秒函数: second
12. 日期转周函数: weekofyear
13. 日期比较函数: datediff
14. 日期增加函数: date_add
15. 日期减少函数: date_sub
十、条件函数   
1. If函数: if
2. 非空查找函数: COALESCE
3. 条件判断函数:CASE
4. 条件判断函数:CASE
十一、字符串函数  
1.    字符ascii码函数:ascii
2.    base64字符串
3. 字符串连接函数:concat
4.    带分隔符字符串连接函数:concat_ws
5. 数组转换成字符串的函数:concat_ws
6. 小数位格式化成字符串函数:format_number
7. 字符串截取函数:substr,substring
8. 字符串截取函数:substr,substring
9. 字符串查找函数:instr
10. 字符串长度函数:length
11. 字符串查找函数:locate
12. 字符串格式化函数:printf
13. 字符串转换成map函数:str_to_map
14. base64解码函数:unbase64(string str)
15. 字符串转大写函数:upper,ucase
16. 字符串转小写函数:lower,lcase
17. 去空格函数:trim
18. 左边去空格函数:ltrim
19. 右边去空格函数:rtrim
20. 正则表达式替换函数:regexp_replace
21. 正则表达式解析函数:regexp_extract
22. URL解析函数:parse_url
23. json解析函数:get_json_object
24. 空格字符串函数:space
25. 重复字符串函数:repeat
26. 左补足函数:lpad
27. 右补足函数:rpad
28. 分割字符串函数: split
29. 集合查找函数: find_in_set
30.    分词函数:sentences
31. 分词后统计一起出现频次最高的TOP-K
32. 分词后统计与指定单词一起出现频次最高的TOP-K
十二、混合函数  
1. 调用Java函数:java_method
2. 调用Java函数:reflect
3. 字符串的hash值:hash
十三、XPath解析XML函数   
1. xpath
2. xpath_string
3. xpath_boolean
4. xpath_short, xpath_int, xpath_long
5. xpath_float, xpath_double, xpath_number
十四、汇总统计函数(UDAF) 
1. 个数统计函数: count
2. 总和统计函数: sum
3. 平均值统计函数: avg
4. 最小值统计函数: min
5. 最大值统计函数: max
6. 非空集合总体变量函数: var_pop
7. 非空集合样本变量函数: var_samp
8. 总体标准偏离函数: stddev_pop
9. 样本标准偏离函数: stddev_samp
10.中位数函数: percentile
11. 中位数函数: percentile
12. 近似中位数函数: percentile_approx
13. 近似中位数函数: percentile_approx
14. 直方图: histogram_numeric
15. 集合去重数:collect_set
16. 集合不去重函数:collect_list
十五、表格生成函数Table-Generating Functions (UDTF)  
1. 数组拆分成多行:explode
2. Map拆分成多行:explode



















  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spark 和 Hive 是两个开源的大数据处理框架。 Spark 是一个快速、通用的数据处理引擎,可以对大数据集进行快速分析和处理。Spark 支持多种编程语言,如 Scala、Java、Python 等,可以在本地或云端部署。 Hive 是一个数据仓库工具,提供了一个 SQL-like 的查询语言(HiveQL),可以对存储在 Hadoop 文件系统(HDFS)上的数据进行分析。Hive 可以将复杂的数据处理转化为简单的 SQL 查询,从而减少编码时间。 在使用 Spark 和 Hive 时,可以通过在 Spark 中使用 HiveContext 或 SparkSession 访问 Hive 中的数据。这样,我们可以通过 Spark 进行大规模数据处理,并通过 Hive 进行结构化数据存储和分析。 总的来说,使用 Spark 和 Hive 可以帮助我们快速处理和分析大数据集,并对数据进行高效管理。 ### 回答2: Spark和Hive是两个在大数据处理领域被广泛使用的工具。Spark是一个快速、通用的分布式计算系统,提供了高效的数据处理和分析能力。Hive是一个基于Hadoop的数据仓库工具,能够将结构化的数据映射到Hadoop文件系统中,并提供了类似于SQL的查询语言HiveQL。 Spark可以与Hive集成,充分利用Hive的元数据和数据,提供更高级的数据处理功能。Spark能够直接通过HiveHiveQL查询语言操作Hive表,并且支持Hive的所有数据类型和操作。 通过Spark和Hive的集成,我们可以利用Spark的强大计算引擎进行高速的数据分析和处理。Spark能够利用内存计算的优势,以及多任务并行处理的特点,加速Hive的查询和计算速度。 另外,Spark还提供了许多其他的功能,如图计算、机器学习和实时流处理等,可以与Hive一起使用。通过将Spark和Hive结合起来使用,我们能够更好地利用大数据资源,实现更高效的数据处理和分析任务。 总之,Spark和Hive的集成使用能够提供快速、高效的数据处理和分析能力,帮助我们更好地处理和利用大数据。 ### 回答3: Spark Hive是结合了Spark和Hive两种开源技术的一种解决方案。Spark是一个快速通用的集群计算系统,而Hive是一个建立在Hadoop上的数据仓库工具。 Spark Hive使用可以为用户提供更高效、更便捷的数据处理和分析能力。Spark提供了一个基于内存的计算框架,可以在处理大规模数据时提供更快的计算速度,同时也支持广泛的数据处理任务。Hive则提供了一个基于SQL的查询和分析接口,使得用户可以使用类似于传统关系型数据库的语法来操作和查询存储在Hadoop上的数据。 使用Spark Hive,用户可以通过Spark的强大计算能力和Hive的便捷查询语法来进行复杂的数据处理和分析任务。用户可以通过Spark提供的API进行数据的转换和处理,然后使用HiveSQL语句进行数据的查询和分析。这样的组合可以使得用户在大数据处理中更加灵活和高效。 另外,Spark Hive也提供了一些额外的扩展功能,例如可以将Hive的元数据信息存储在Spark的DataFrame中,使得在数据处理过程中可以更加方便地访问元数据信息。同时,Spark Hive还支持通过Hive的UDFs(User Defined Functions)来扩展SQL的语法和功能,使得用户可以自定义函数来满足特定的数据处理需求。 总而言之,Spark Hive使用可以为用户提供更加高效、便捷和灵活的大数据处理和分析能力,帮助用户更好地处理和挖掘大规模数据的价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值