Hive

1   hadoop 的mapreduce是分布式的计算框架


2    由于hive是把sql翻译成mapreduce任务,那么

    1    解释器(解析sql),编译器(sql编译成mapreduce任务),优化器(优化完成后提交hadoop集群,job tracker)--》hive Driver

    
3    注意 hive只是针对类似表结构的数据
    如果源数据格式杂乱,则需要先mapreduce转换
    
4    表: 元数据 和 数据
        元数据:存在单独的关系型数据库里 metastore
        数据:一行行数据。存在hadoop集群的数据存在hdfs
              
5    hive在编译时,会hive转换成 QL操作符(最小单元,一个个Operator操作符),每一个QL 代表一个mapreduce作业或对HDFS的一个操作
    
6    hive难点:对词法语法的分析。词法语法分析工具 antlr (hql)

7    3中安装或启动模式,按照元数据存储来区分
    1    本地derby模式,默认derty数据库(hive自带),一般测试时用
    2    本地mysql
    3    远程mysql多用户模式。jdbc 连接远程数据库.由于会并发,所以hive在中间启了一个 hive server(MetaStoreServer) 来统一管理
    
8    hive主要用来解析sql的,单个机器就可以搞定,用不到集群。主要能连接上hadoop集群可以上传数据就行。也没必要做高可用

9   
    
    hive的本地derby安装

        hive安装在hadoop-node1上
        
        1 保证hadoop下 /home/hadoop-2.5.1/share/hadoop/yarn/lib 下 jline-2.12.jar版本替换为相同的最高版本
            4台都要换,把低版本删
          
        2   conf下
            hadoop dfsadmin -safemode leave 强制离开安全模式
            hadoop fs -rmr /user/hive/warehouse 删除hdfs上目录
   
    hive的本地mysql安装
    
        mysql安装在hadoop-node4上
        hive安装在hadoop-node1上
        
        mysql 配置文件 /etc/my.cnf 查看数据目录地址

  
    远端mysql 多用户安装
        mysql安装在hadoop-node4上
        hive安装在hadoop-node1上
      
        服务启动后,修改hadoop-node1 hive的配置(hive变为hadoop-node2 hive服务的客户端)
        启动mysql(hadoop-node4)
        启动启动hive元数据服务(hadoop-node2)
        启动hive(hadoop-node1)
        
10   hive存在hdfs上是 文本格式

11    DML
   
    在hive里 表里内容都是文本,不存在主键等,可以建
    
    CREATE TABLE person1
    (userid INT,name STRING,age INT,fav ARRAY<STRING>)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
     COLLECTION ITEMS TERMINATED BY ','
     STORED AS TEXTFILE;
    person1和person2 是组合表,无法用 truncate来清空
    例如 从 a表查出一部分数据再从B表查出一部分数据做关联join,再插入一张新表里,
    hive里有很多函数,我们可以任意转换我们查询到的数据
    随便写个sql就可以转换成mapreduce,工作量大大减轻
    insert update 很少用,因为数据量大,少几条数据不影响,没必要插入1条数据来跑reduce任务
    
12  hive分区

    旧数据和新区分开
    数据量大了我们可以每个月或每年做个分区,mapreduce中的padition分区,也是这个意思    
    
13    hive函数 和 自定义函数 UDF
    show functions; 符号也是一个函数
    UDF多进出一 聚合函数 UDAF 多条出一条 UDTF 一条出多条
14    hive 嵌入 python
    15的UDF 自定义函数过程非常复杂---》hive调用pytion
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值