欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-08-17 16:52:46
1.hive概述 Apache Hive数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集。可以将结构投影到已存储的数据中。提供了命令行工具和JDBC驱动以将用户连接到Hive。 2.hive优缺点 优点: (1)操作接口采用了sql,简化开发,减少学习成本。 (2)避免手写 ......

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 ’\t‘;
  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 '\t';

    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;

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

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