zoukankan      html  css  js  c++  java
  • Hive_Hive的数据模型_外部表

    Hive的数据模型之外部表

    外部表(External Table)
    - 指向已经在HDFS中存在的数据,可以创建Partition
    - 它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异。
    - 外部表侄有一个过程,加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立一个链接。当删除一个外部表时,仅删除该链接。

    1、准备几张相同数据结构的数据txt文件,放在HDFS的/input 目录下。
    2、在hive下创建一张有相同数据结构的外部表external_student,location设置为HDFS的/input 目录。则external_student会自动关连/input 下的文件。
    3、查询外部表。显示/input下具有相同数据结构的所有文件的数据。
    4、删除/input目录下的部分文件。
    5、查询外部表。删除的那部分文件数据不存在。
    6、将删除的文件放入/input目录。
    7、查询外部表。放入的那部分文件数据重现。

    举例如下:

    (1)准备数据:

    student1.txt
    1,Tom,M,60,80,96
    2,Mary,F,11,22,33
    
    student2.txt
    3,Jerry,M,90,11,23
    
    student3.txt
    4,Rose,M,78,77,76
    5,Mike,F,99,98,98
    查看HDFS文件系统现有的目录。
    # hdfs dfs -ls /
    
    创建input目录。
    # hdfs dfs -mkdir /input
    将文件放入HDFS文件系统
    hdfs dfs -put localFileName hdfsFileDir
    # hdfs dfs -put student1.txt /input
    # hdfs dfs -put student2.txt /input
    # hdfs dfs -put student3.txt /input

    (2)创建外部表

    create table external_student
    (sid int, sname string, gender string, language int, math int, english int)
    row format delimited fields terminated by ',' 
    location '/input';

    (3)查询外部表

    select * from external_student;

    (4)删除HDFS上的student1.txt

    # hdfs dfs -rm /input/student1.txt

    (5)查询外部表

    select * from external_student;

    (6)将student1.txt 重新放入HDFS input目录下

    # hdfs dfs -put student1.txt /input

    (7)查询外部表

    select * from external_student;
  • 相关阅读:
    王爽汇编实验(八)
    王爽汇编实验(七)
    王爽汇编实验(六)
    王爽汇编实验(五)
    计算机操作系统锁机制.
    网页搜索框里显示字段鼠标点击后就隐藏的方法
    织梦删掉会员空间,保留开放会员(禁止注册)的方法
    织梦DEDECMS后台验证码错误不能正常验证的3种可能原因和解决
    织梦DEDECMS后台验证码错误不能正常验证的3种可能原因和解决
    织梦怎么对某些字段信息隐藏,登录后可查看
  • 原文地址:https://www.cnblogs.com/liupuLearning/p/6323004.html
Copyright © 2011-2022 走看看