Hive1

作者: ZhangShiWen | 来源:发表于2018-08-21 17:03 被阅读0次

    #  #数据库与数据仓库

    数据库:mysql,roacle,sqlserve,DB,MDB,...

    数据仓库:Hive,是MR的客户端,也就是说不必要每台机器都安装部署Hive

    - Hive的特性

    1)操作接口是采用SQL语法,HQL;

    2)避免乐写MapReduce的繁琐过程

    - Hive 体系结构

    1·Client

    **终端命令行

    **JDBC--不长使用,非常麻烦(相对于前者)

    2.metastore

    **原本的数据集集和字段名称以及数据信息之间的双射关系

    **目前是存储在Mysql

    3.Server-Hadoop

    **在操作Hive的同时,需要将Hadoop的HDFS开启,YARN开启,MAPRED配置好

    创建表: create table ss(name string,id int,date string) row format delimited fileds terminated by '\t'

    导入数据:load data local inpath '路径' into table 库名.表名

    内部表与外部表(inner,external):

    drop

    内部表删除表数据时,连同数据源及元数据信息同时删除

    外部表:只会删除元数据信息,共享数据外部表相对而言方便和安全

    相同点:

    如果你导入数据时,操作与HDFS上,则会将数据进行迁移,并在metastire留下记录,而不是copy数据源

    Hive分区表

    创建分区表:

    前面一样 partitioned by (date string,hour string)--分区表的分区字段以逗号分隔

    row format delimited fields terminated by '\t'

    导入数据到分区表

    load data local inpath '路径' into table 库名.表名 partition(date='具体值',hour='具体值')

    查询分区表数据:

    select url from table

    where date = '201808021'

    case使用(聚合函数,group by等)

    **select ename,

    case

    when sal<1000 then "lower"

    when sal>=1000 and sal<2000 then 'mid'

    else 'high'

    end

    from table**

    hive操作HQL语句的两个参数

    hive -e ""

    hive -f 文件.hql

    bin/hive  本地的

    HiveServer2

    #  #Sqoop

    相关文章

      网友评论

          本文标题:Hive1

          本文链接:https://www.haomeiwen.com/subject/dbpjiftx.html