Hive简单介绍

Hive简单介绍
1. Hive是什么?

Hive是一个构建在Hadoop上的数据仓库框架,是应Facebook每天产生的海量新兴社会网络数据进行管理和(机器)学习的需求而产生和发展的。Hive可以将结构化的数据映射成为一张二维表,并提供了HQL(Hive SQL)进行查询和分析的功能,它的底层数据存储在HDFS中,可以实现大规模数据集的存储及处理。Hive的本质是将SQL语句转换为MapReduce任务执行的,但后期版本也推出了可以将Hive的执行引擎换成Spark或者Tez,提供HQL的好处就是为了使得使用Hive更加简单,可以方便不熟悉MapReduce的人员快速上手Hive,适用于进行离线的、海量的数据计算。

2. Hive的shell环境
1. 交互式shell

安装完成Hive之后,Hive提供的shell环境可以通过进入类似MySQL的客户端进行操作,命令必须以分号结束。

hive> show tables;
2. 非交互式shell

也可以使用非交互式模式使用Hive的shell环境,使用-f选项可以运行指定文件中的命令。

[hadoop@master ~]$ hive -f script.sql

如果是较短的脚本,也可以使用-e命令在行内嵌入命令,此时不需要分号。

[hadoop@master ~]$ hive -e 'select * from tableName'
3. 选项-S

对于交互式或者非交互式的shell模式,Hive都会将操作运行时的信息打印输出到标准错误输出(standard error),可以使用-S选项强制不显示这些信息,只显示查询结果:

[hadoop@master ~]$ hive -S -e 'select * from tableName'
3. Hive的简单示例
1. 创建一张表
create table tableName (id int, name string, age int)-- 声明创建一个tableName表,表中有三列
row foramt delimited-- 声明数据文件的每一行数据使用换行符分隔
fields terminated by '\t';-- 声明数据文件的每一行是由制表符分隔的文本
2. 加载数据文件
load data local inpath '/home/hadoop/tableData/person.txt'
overwrite into table tableName;

正常情况下,一个HDFS的表目录下可以有多个数据文件,使用local关键字代表从服务器本地上传文件到HDFS上的表目录下,使用overwrite关键字可以将表目录下的数据文件全部删除,如果不使用此关键字就只是简单的将该数据文件放到HDFS上的表目录中,如果有重名的文件则覆盖。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yanko24

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值