Hive学习笔记001

来源:互联网 发布:麦迪和艾弗森对位数据 编辑:程序博客网 时间:2024/05/20 15:41

hive的应用场景

主要是解决了,如果使用多个map和reduce进行数据处理,每次都需要修改程序,有些改动非常少,这样不利于开发效率    hive的出现主要是解决了因为小的需求变更而,频繁的需要修改hadoop程序,提供了类似sql的HiveQl。Hive类似一个中间转换器(编译器的作用),将hadoop产生的数据,存储在Hive(内嵌一个非常小巧的数据库Derby),Hive提供有类似SQL的查询语句。当然这个存储的数据也可以配置到mysql这样的数据库。    换句话说:Hive提供了hadoop查询数据使用类似SQL的查询语言,中间做的工作主要有:将用户的hadoop处理的数据,建立一个表存储好表的元数据、位置信息等,它将hadoop处理的数据存储起来,当调用HiveQL查询的时候,会对HiveQL进行解析,然后转换为hadoop能执行的map、reduce的环节进行处理。
1.解压    tar -zxvf hive-0.12.0.tar.gz2.      bin> ./hive3.show database;create database test_db;show databases;use test_db;create table t_mygirl(id int ,name string, age int, size string)show tables;#不支持sql插入和更新insert into t_mygirl values(1, "baby", 18, "36C");#分隔符  enter键row format delimited#列使用\t分隔fields terminated by "\t";

完整的建表语句,包括指定列的分隔符

create table t_mygirl(id int ,name string, age int, size string)row format delimitedfields terminated by "\t";
#进入表格文件t_mygirlvim t_mygirl    内容        1   baby 18 36C        2   yifei   19  37B        3   yangmi  22  36A        4   zhiling 36  36C        5   fengjie 29  39A#上传文件hadoop  fs -put mygirls.data /xx/xxx/xxx/test_db.db/t_mygirl#hive查询>hive    select * from t_mygirl where age < 30;    select count(*) from t_mygirl where age < 30;
原创粉丝点击