• 01-Hive综述(hive的安装、修改配置、基本使用)


     写在前面的话:

    该系列博文是我学习《 Hive源码解析与开发实战》视频课程的一个笔记,或者说总结,暂时没有对视频中的操作去做验证,只是纯粹的学习记录。

    有兴趣看该视频的博友可以留言,我会共享出来,相互交流学习 ^.^。

    *********************************************************************************************************

    1、Hadoop的生态系统:

      

    2、日志分析系统:

      

    基于Hadoop的日志分析系统:

    3、Hive介绍:

      

      

      

    4、Hive环境搭建:

     

    hive.metastore.warehouse.dir 表示在hdfs上存储的一个路径
    hive.querylog.location 表示操作日志,存放位置

    首先解压到指定目录中去(这里以0.13为例,实际是用的0.9.0版本):

     

    Hive默认使用一个内嵌的数据库Derby,这个数据库有个缺点就是单session,意思就是说在一个目录下启动hive,并创建一个表后,如果在另外的一个目录下,再启动时,

    通过show tables 不能查看到存在该表。

    因此我们可以通过配置,来使用myql作为hive存储元数据的数据库,这样就可以解决这个问题:不管在哪个目录下启动hive,所有的修改操作都可以看到。

    做实验:

    如果默认derby的话:

    show tables后会产生下面两个文件:

     

    切换目录后启动hive,会产生一个目录和文件,当show tables的时候,不能看到之前创建的test1表;

    将Hive的元数据库配置为mysql的配置操作:

    主要是修改hive根目录下conf目录下hive-site.xml(这个文件是从hive-default.xml.template拷贝重命名来的,默认是先加载这个文件,然后如果有hive-site.xml,再加载hive-site.xml,当然相应的配置,hive-site.xml会覆盖掉之前的默认配置):

    默认配置是derby的,我们将该相应配置的四个属性修改为mysql的相应配置就可以了:

    修改后:

    主要修改url、驱动名字、mysql的用户名和密码。

    修改后退出hive,重启启动hive,就可以生效了。

    使用mysql后,就不会出现修改或者创建表,切换目录启动后查看不到的情况,也就是说当多个用户使用的时候大家的修改都是可以看到的,但如果是derby每个用户的修改,其他用户看不到。

    5、Hive基本使用:

     

    浏览器的方式启动访问:

    通过JDBC的方式访问:

    首先以第三种方式启动hive:

    如果想后台运行 在启动命令后面加&符号。

    启动后,写java代码进行访问:

     

     

    总结记忆:

      1、设置msql为hive的数据库:  

             Hive默认情况下使用derby这个内嵌的数据库,这个数据库有个特点:如果我们再某个目录下启动hive并创建一张表,然后退出hive,切换目录,然后启动hive,查看表时,不能查看到之前创建的表,也就是说derby的单session的,多个用户之间的相关表操作修改不能共享;为此,我们需要将hive存放元数据的数据库修改为mysql。

             具体配置是在hive-site.xml中修改四个配置属性,主要是配置url、驱动名字以及mysql用户名和密码,默认这四个属性是设置为derby,因此可以将关于derby的这四个默认属性注释掉,然后重新写四个mysql的属性;

      2、对hive进行访问和操作:

        1> 通过命令行的方式;

        2> 通过web的方式,在浏览器访问和浏览;

        3> 启动HiveServer,通过代码进行访问操作hive;

  • 相关阅读:
    PHP引用传值
    PHP快速排序
    PHP冒泡排序法
    Jquery EasyUI datagrid后台数据表格生成及分页详解
    polymer 测试
    imooc movie
    test markdown
    MEAN 27
    MEAN 26
    nodejs 负载均衡
  • 原文地址:https://www.cnblogs.com/lordcheng/p/7466238.html
Copyright © 2020-2023  润新知