hive介紹、安裝配置、表操做基礎知識適合小白學習

1.hive概述linux

  Apache Hive數據倉庫軟件有助於使用SQL讀取,編寫和管理駐留
在分佈式存儲中的大型數據集。能夠將結構投影到已存儲的數據中。
提供了命令行工具和JDBC驅動以將用戶鏈接到Hive。web

2.hive優缺點

  優勢:
  (1)操做接口採用了sql,簡化開發,減小學習成本。
  (2)避免手寫mapreduce程序
  (3)hive執行延遲較高,使用場景大多用在實時性要求不強的情景
  (4)優勢在於處理大數據
  (5)支持自定義函數
  缺點:
  (1)hive的sql表達能力有限(HSQL)
  (2)hive效率低 hive調優比較難sql

3.hive架構

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

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;apache

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;

    提示:再次建立相同的表 字段相同 將自動關聯數據!

    若是對你有幫助,歡迎轉載!

相關文章
相關標籤/搜索