zoukankan      html  css  js  c++  java
  • Hadoop之Hive 命令

    Hive 简介:  1.Hive 是SQL解析引擎,它将SQL语句转译成M/R Job 然后在Hadoop执行

    2.Hive 的表其实就是HDFS的目录,按表名把文件夹分开。如果是分区表,则分区值是子文件夹,可以直接在M/R job里使用这些数据。

    3.HIve相当于hadoop的客户端工具,部署时不一定放在集群节点中,可以放在某个节点上。

    Hive 数据存储:

    1.Hive 的数据存储基于hadoop fs

    2.hive 没有专门的存储格式

    3.存储结构主要包括:数据库、文件、表、视图、索引

    4.Hive默认可以直接加载文本文件(textfiel),还支持 SequenceFile,RCfile

    5.创建表是,指定Hive数据的列分割付与行分隔符,Hive 即可解析数据。

    Hive的系统架构:

    1.用户接口有3个:CLI,JDBC/ODBC,webUI

    2.Hive 将元数据存储在数据库中(metastore),目前只支持mysql、derby。hive 中的元数据包括表的名字,标的列和分区及其属性,表的属性(是否为外部表),表的数据所在的目录等。

    3.解释器、编译器、优化器、完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划(plan)的生成。生成的查询计划存储在HDFS中,并在后由 Mapredcue 调用执行。

    4.Hive的数据存储在HDFS中,大部分的查询由MAPRECUDE 完成(包含*的查询,比如select * from table 不会生成MapReduce任务)

    Hive 的metastroe

    1.metastore是 hive 元数据的集中存放地

    2.metastore 默认使用内嵌的derby数据库作为存储引擎

    3.derby 引擎的缺点:一次只能打开一个会话

    4.使用mysql作为外置存储引擎,多用户同时访问。

    Hive 与Hadoop 的调用关系

    图:

    CSV 逗号分隔值 或字符分隔值~

     

     

    hive使用方式分为 命令行方式CLI,脚本文件方式,JDBC方式,web GUI接口 hwi方式

    一、命令行方式

    1.直接输入 hive –service cli (hive/bin/hive)

    show tables;

    create tables test(id int,name string);

    quit;

    2.hive的脚本执行

    hive -e ""

    hive -e "">aaa

    hive -S -e "">aaa

    hive -f file

    hive -i /home/my/hive-init.sql

    source file

    3.hive与外部资源的交互

    与linux交互命令!

    !ls

    !pwd

    与hdfs交互命令

    dfs -ls /

    dfs -mkdir /hive

    4.hive的JDBC模式

    产看hive /bin的目录下 hiveserver2是否存在

    hive - - service hiveserver2

    启动服务后会停留在如下图示:

    image

    5.hive web界面模式

    web界面安装

    a. 下载apache-hive-0.14.0-src.tar.gz

    b.制作war包放到HIVE_HOME/lib/:hwi/web/*里面所有文件打成war包  (压缩直接改名)

    c.复制 tools.jar(jdk的lib包下面的jar包) 到 hive/lib下

    d.修改hive-site.xml

    <property>
        <name>hive.hwi.listen.host</name>
        <value>0.0.0.0</value>
        </property>
      <property>
        <name>hive.hwi.listen.port</name>
        <value>9999</value>
        </property>
      <property>
        <name>hive.hwi.war.file</name>
        <value>lib/hive-hwi-0.14.0.war</value>
    </property>
    
    e.hive web界面的 (端口号9999) 启动方式

    hive --service hwi &

    用于通过浏览器来访问hive

    http://192.168.0.142:9999/hwi/

    6.set命令使用

    hive控制台set命令:

    set hive.cli.print.current.db=true;

    set hive.metastore.warehouse.dir=/hive

    hive参数初始化配置set命令:

    ~/.hiverc

    补充:

    hive历史操作命令集

    ~/.hivehistory

    ----------------------------------bug--------------------

    1. 启动hive hwi服务时出现 HWI WAR file not found错误

    hwi.HWIServer: HWI WAR file not found at /usr/local/hive/usr/local/hive/lib/hive-hwi-0.12.0-SNAPSHOT.war

    解决方案:

    将hive-default.xml中关于 hwi的设置拷贝到hive-site.xml中即可

    再次运行上面的命令

    2. No Java compiler available

    Problem accessing /hwi/. Reason:

    No Java compiler available

    解决方案:
     

    现在要做的就是添加apache ant的编译工具,不安装则会报错

    安装方法不做介绍了,网上很多。

    安装完后需要设置path:

    设置ANT_LIB路径

                export ANT_LIB=/usr/lib/apache-ant-1.9.0/lib

    ,但是这个方法不好使,需要把

    • ant-launcher.jar
    • ant.jar

    这两个jar包拷贝到$HIVE_HOME/lib下,才能使用。

    OK 成功解决

    岁月里,寒暑交替。人世间,北来南往。铭心的,云烟的。都付往事,不念,不问。
  • 相关阅读:
    java高级工程师(三)
    java高级工程师(二)
    python学习笔记(3)--IDLE双击运行后暂停
    Bootstrap学习笔记(9)--模态框(登录/注册弹框)
    Bootstrap学习笔记(8)--响应式导航栏
    github上搭建网站前台页面
    Bootstrap学习笔记(7)--轮播
    Bootstrap学习笔记(6)--导航居中
    Bootstrap学习笔记(5)--实现Bootstrap导航条可点击和鼠标悬停显示下拉菜单
    Bootstrap学习笔记(4)--导航栏
  • 原文地址:https://www.cnblogs.com/chaoren399/p/2854885.html
Copyright © 2011-2022 走看看