• hive介绍、安装配置、表操作基础知识适合小白学习


    1.hive概述

      Apache Hive数据仓库软件有助于使用SQL读取,编写和管理驻留
    在分布式存储中的大型数据集。可以将结构投影到已存储的数据中。
    提供了命令行工具和JDBC驱动以将用户连接到Hive。

    2.hive优缺点

      优点:
      (1)操作接口采用了sql,简化开发,减少学习成本。
      (2)避免手写mapreduce程序
      (3)hive执行延迟较高,使用场景大多用在实时性要求不强的情景
      (4)优点在于处理大数据
      (5)支持自定义函数
      缺点:
      (1)hive的sql表达能力有限(HSQL)
      (2)hive效率低 hive调优比较难

    3.hive架构

      提供了一系列的接口:hive shell、jdbc/odbc、webui

    4.hive安装
      (1)下载安装包 官网地址: hive.apache.org
      (2)上传安装包到linux操作系统
        alt+p(此处使用的secureCRT)
      (3)解压
        tar -zxvf .tar -C /opt/moudle/
      (4)修改配置文件
        conf下的 hive-env.sh.temple重命名为hive-env.sh
        修改内容:
        HADOOP_HOME=/opt/moudle/hadoop-2.8.4(修改成自己的hadoop安装目录)
        export HIVE_CONF_DIR=/opt/moudle/hive/conf(修改成自己的hive的conf目录)
      (5)启动hdfs和yarn集群
        start-dfs.sh
        start-yarn.sh
        注意:hive是一种操作数据的软件,它本身不具备存储功能,它的存储依赖的是hdfs,因此启动hive必须启动hadoop。
      (6)在hdfs上创建文件夹
        hdfs dfs -mkdir /tmp
        hdfs dfs -mkdir -p /user/hive/warehouse/
      (7)启动hive(切换到hive的安装目录下再输入以下命令)
        bin/hive

    5.hive测试
      1)查看数据库
      show databases;
      2)使用数据库
      use default;
      3)查看表
      show tables;
      4)创建表
      create table student(id int,name string);
      5)插入数据
      insert into  student values(1,"Lilei");
      6)查询
      select * from student;
      7)删除表
      drop table student;
      8)退出终端
      quit;

    6.DDL数据定义

      1)创建数据库
        1.1)查看数据库
          show databases;
        1.2)创建数据库
          create database  db_hive;
        1.3)创建数据库标准写法
          create database if not exists db_hive;
        1.4)创建数据库指定所在hdfs路径
          create database hive_db1 location '/hive_db';  

      2)修改数据库

        2.1)查看数据库结构
          desc database hive_db;
        2.2)添加描述信息
          alter database hive_db set dbproperties('dataname'='animal');
        2.3)查看拓展属性
          desc database extended hive_db;

      3)查询数据库
        3.1)显示数据库
          show databases;
        3.2)筛选查询的数据库
          show database like 'db*';
      4)删除数据库
        4.1)删除数据路
          drop database hive_db;
        4.2)删除数据的标准写法
          drop database if exists hive_db;

      5)创建表

        5.1)创建表

          create table student(id int,name string) row format delimited fields terminated by ’ ‘;
      6)管理表

        不擅长做数据共享,删除hive中管理表,数据删除。

        6.1)加载数据
          load data local inpath '/root/itstar.txt' into table student;
        6.2)查询并保存到一张新的表
          create table if not exists student1 as select * from student where name = 'Lilei';
        6.3)查询表结构
          desc formatted emp;

          查询结果:

          Table Type:             MANAGED_TABLE

      7)外部表

        hive不认为这张表拥有这份数据,删除该表,数据不删除。擅长做数据共享。

        7.1)创建外部表
          >create external table if not exists emptable(empno int,ename string)
          > row format
          > delimited fields
          > terminated by ' ';

        7.2)导入数据
          load data local inpath '/root/emp.txt' into table emptable;
        7.3)查看表的结构
          desc formatted emptable;

         查询结果:

          Table Type: EXTERNAL_TABLE
        7.4)删除表
          drop table emptable;

        提示:再次创建相同的表 字段相同 将自动关联数据!

        如果对你有帮助,欢迎转载!

        

  • 相关阅读:
    Java 集合(静态导入)
    Java 集合 (Collections、Arrays)
    Java 异常
    Java 多态
    Java 继承

    内网服务器配置访问公网
    替换centos的原生yum源为阿里云yum源
    centos7安装杀毒软件ClamAV
    linux程序名称带devel跟不带的区别
  • 原文地址:https://www.cnblogs.com/wang9911-00/p/10610490.html
Copyright © 2020-2023  润新知