zoukankan      html  css  js  c++  java
  • Hive学习之三 《Hive的表的详解和应用案例详解》

    一、Hive的表

      Hive的表分为内部表、外部表和分区表。

      1、内部表,为托管表。

      2、外部表,external。

      3、分区表。

      详解:

      内部表,删除表的时候,数据会跟着删除。

      外部表,在删除表的时候,数据不会跟着删除。

          默认分隔符:列 为 01         行分隔符为 

      分区表:  

      1、解决查询效率,不全表查询,只查对应的分区。

      2、避免数据重复的问题,即数据质量方面安全。

    create table tablename (
    字段1   字段类型 ,
    字段2   字段类型 )  PARTITIONED BY (分区1 分区类型1,分区2 分区类型2)  
    ROW FORMAT DELIMITED FIELDS TERMINATED BY '	';

    二、hive的配置文件。  

      /etc/hive/conf  :

      hive-env.sh 设置环境变量相关

      hive-site.xml:属性参数配置。

      Hadoop的配置文件路径:

      /etc/hadoop/conf

    三、hive的核心操作语句。

      insert和select。

      insert数据的时候必须指定分区,不指定分区就报错。

      查询的时候带分区范围,比如:分区1=’’

      不懂建表,看步骤一。

      1、insert的两种方式:

      ①append 是一种追加方式,基本不是特别常用。

      ②overwrite  是一种覆盖方式,操作方式为先删除,后插入。相对企业来说,安全级别高。

          Load文件:加载文件到hive表。

      ①我们先在本地建立一个文件夹,用来存储需要加载的文件,比如

         mkdir   /opt/muzi/test

         通过rz操作,上传需要加载的文件。

         load语法:

    LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

        应用案例代码:

      推荐使用[OVERWRITE]

    LOAD DATA LOCAL INPATH '/opt/muzi/text/文件1' overwrite INTO TABLE  tablename PARTITION (分区1='分区的东东(比如时间什么的)');

      2、查询语句

      语法很简单 

    select 字段名 from tablename where 分区1='分区数据' limit n行数据;

      

  • 相关阅读:
    小程序-小菊花loading
    小程序-跳转
    小程序-拨打电话
    Pluto
    Android外部存储
    iOS微信内存监控
    iOS UITableView左滑操作功能的实现(iOS8-11)
    Hi,腾讯 WeTest 限免开放 Android Oreo 云真机,Android 8.1 可开测!
    揭密微信跳一跳小游戏那些外挂
    腾讯WeTest发布《2017中国移动游戏质量白皮书》,专注手游品质提升
  • 原文地址:https://www.cnblogs.com/invban/p/5315679.html
Copyright © 2011-2022 走看看