hive 常用命令 DDL DML 验证数据 加载数据 内部表和外部表 分区 分桶 数据类型 表连接 排序 函数 jdbc

本文详细介绍了Hive作为基于Hadoop的数据仓库的作用,强调其简化MapReduce操作并通过SQL语句进行数据分析的优势。内容涵盖了Hive的运行原理、数据库与数据仓库的区别、元数据管理、环境搭建、DDL和DML命令,以及数据加载、分区、分桶等概念。此外,还讨论了Hive与MySQL数据库的集成、数据类型、表连接、排序和函数的使用,以及如何通过JDBC进行远程连接。
摘要由CSDN通过智能技术生成

hive:

基于hadoop的数据仓库
数据库:
真正存储和管理数据的,对数据有直接的处置权。
关心的事情是在线事务过程(OLTP)
数据仓库:
可以通过一个或多个数据库读取数据做一些数据分析
关心的事情是在线分析过程(OLAP)
举例:
数据库操作:下订单,待发货,已发货,待评价,。。。
数据仓库操作:通过数据分析出销量,年龄段,性别,。。。

  • hive为什么是基于hadoop的?
    1.logo的头是hadoop的头(勉强算一个理由)
    2.hive是存在与hadoop生态圈中的一个组件
    3.hive本身执行的就是MapReduce

  • hive怎么执行的MapReduce?
    hive是使用类sql(HQL/HiveQL)语句完成的MapReduce

  • hive可以对MapReduce做极大的简化,为什么保留MapReduce?
    有某些特殊业务,可以无法使用sql语句完成。
    此时必须使用传统的MapReduce完成。存在即有道理。

  • 为什么使用sql语句的形式简化MapReduce?
    BI(商业智能) 存储过程(使用sql语句编程)
    方便了这些对于sql语句使用熟练,但对代码不太熟练的人群

  • hive的运行原理
    写sql语句,hive内部自动把sql语句转换成MapReduce执行。
    原数据在hdfs上,sql语句需要用到表,所有需要创建表,
    表是以目录的形式存储在hdfs上的某个位置。
    通过加载数据的形式,可以把原数据加载到这个表对应的目录下。
    通过sql语句(mapreduce)对原数据进行分析,结果写入hdfs。

  • derby数据库:
    同一个时刻只允许单用户登录的一个轻量级的数据库,无法数据共享。
    如果想做到数据共享,换成mysql数据库充当hive里的元数据库。

  • 环境搭建:
    derby数据库:
    1.解压缩
    2.配置环境变量
    3.修改配置文件
    mv hive-env.sh.templete hive-env.sh
    export HADOOP_HOME=
    export HIVE_CONF_DIR=
    hive-site.xml
    看文件
    4.启动服务
    hive
    5.正确执行
    mysql数据库:
    在derby数据库基础上
    a.在hive-site.xml中添加mysql连接信息
    b.把mysql-connector-java.jar放入 $ {hive}/lib
    c.把${HIVE_HOME}/lib 下的 jline-xxx.jar放入 ${HADOOP_HOME}/share/hadoop/yarn/lib 下
    d.schematool -dbType mysql -initSchema 初始化数据库类型
    e.修改mysql的连接权限

hive的常用命令
*hive-help 查看关于hive的所有命令的帮助信息

  • 在linux的命令行下执行hive的sql语句
    hive -e “sql” / ‘sql’

  • 在linux命令行下执行写有hive的sql语句的文件
    hive -f fileName
    hive -f fileName >> fileRes
    注意:在linux的命令行下执行hive语句的时候,
    先进入到hive环境,执行sql,执行完毕自动退回到linux环境。

  • 在hive环境下执行linux的命令
    hive> ! linux命令

  • 在hive环境下执行hdfs的命令
    //以普通linux命令的形式执行,速度很慢
    hive> ! hdfs dfs commond
    //hive提供了一种简便方法,执行速度非常快
    hive> dfs commond

  • 日志文件
    在${HIVE_HOME}/conf hive-log4j.properties 进行修改日志的路径和文件名

  • hive的历史命令
    cat ~/.hivehistory

  • 设置属性
    a.hive-default.xml
    默认设置的配置项,不能修改
    b.hive-site.xml
    可以根据需要修改部分配置项,覆盖掉hive-default.xml的内容
    不管hive服务是否重启,属性值不变。
    c.直接通过命令设置属性
    只对当次连接生效,重启hive服务失效。
    I.在hive环境下直接设置属性
    hive> set properties=value 设置属性值
    hive> set

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值