美文网首页
hdfs,hive大数据的存储管理和显示管理

hdfs,hive大数据的存储管理和显示管理

作者: StoneHeart | 来源:发表于2017-02-22 16:07 被阅读124次

    1.Hive中内部表和外部表及其对应的hdfs路径

    1.1 Hive内部表和外部表的区别

    Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据 所在的路径, 不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。

    内部表
    1. 创建内部表

      create table test1(a string,b string)
      row format delimited
      fields terminated by '\t'  //指定分隔符
      stored as textfile  //指定文件格式;文件格式有Text File,Sequence File。
      location '/input/table_data'; //指定数据文件文件存储路径
      

    2.装载内部表

        load data inpath '/input/data' into table test1; //将hdfs路径中的数据文件装载到test1表中。
    

    内部表的数据加载会将hdfs路径/input/data下的数据文件转移到/input/table_data。如果删除test1表后,会将test1表的数据和元数据信息全部删除,最后/input/table_data下无数据,而且/input/data下也无数据因为/input/data下的数据在load data操作时已经转移到了/input/table_data。

    外部表

    1.创建外部表

        create external table etable (name string , age string)
        row format delimited
        fields terminated by '\t'  //指定分隔符
        stored as textfile  //指定文件格式;文件格式有Text File,Sequence File。
        location '/input/etable_data'; //指定数据文件文件存储路径
    

    2.装载外部表

        load data inpath '/input/edata' into table etable; 
    

    此时会把hdfs路径/input/edata下的数据转移到/input/etable_data下。若删除这个外部表则/input/etable_data下的数据不会被删除。但是/input/edata的数据被转移到/input/etable_data也没有了。

    1.2查看hive表的详细信息

    输出创建指定表或者视图的语句

      0: jdbc:hive2://hadoop1:11000> show create table etable;
      OK
      +-----------------------------------------------------------------+--+
      |                         createtab_stmt                          |
      +-----------------------------------------------------------------+--+
      | CREATE EXTERNAL TABLE `etable`(                                 |
      |   `name` string,                                                |
      |   `age` string)                                                 |
      | ROW FORMAT SERDE                                                |
      |   'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'          |
      | WITH SERDEPROPERTIES (                                          |
      |   'field.delim'='\t',                                           |
      |   'serialization.format'='\t')                                  |
      | STORED AS INPUTFORMAT                                           |
      |   'org.apache.hadoop.mapred.TextInputFormat'                    |
      | OUTPUTFORMAT                                                    |
      |   'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'  |
      | LOCATION                                                        |
      |   'hdfs://cluster:8020/input/etable_data'                       |
      | TBLPROPERTIES (                                                 |
      |   'transient_lastDdlTime'='1487775812')                         |
      +-----------------------------------------------------------------+--+
    

    查看表结构

      0: jdbc:hive2://hadoop1:11000> desc formatted etable;
      OK
      +-------------------------------+-----------------------------------------------------------  -- +-----------------------+--+
      |           col_name            |                          data_type                          |          comment        |
      +-------------------------------+-------------------------------------------------------------  +-----------------------+--+
      | # col_name                    | data_type                                                   | comment               |
      |                               | NULL                                                        | NULL                   |
      | name                          | string                                                      |                       |
      | age                           | string                                                      |                       |
      |                               | NULL                                                        | NULL                        |
      | # Detailed Table Information  | NULL                                                        | NULL                  |
      | Database:                     | chenjie                                                     | NULL                  |
      | Owner:                        | root                                                        | NULL                  |
      | CreateTime:                   | Wed Feb 22 23:03:32 HKT 2017                                | NULL                  |
      | LastAccessTime:               | UNKNOWN                                                     | NULL                  |
      | Retention:                    | 0                                                           | NULL                  |
      | Location:                     | hdfs://cluster:8020/input/etable_data                       | NULL                  |
      | Table Type:                   | EXTERNAL_TABLE                                              | NULL                  |
      | Table Parameters:             | NULL                                                         | NULL                  |
      |                               | EXTERNAL                                                    | TRUE                  |
      |                               | transient_lastDdlTime                                       | 1487775812            |
      |                               | NULL                                                        | NULL                    |
      | # Storage Information         | NULL                                                           | NULL                  |
      | SerDe Library:                | org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe          | NULL                    |
      | InputFormat:                  | org.apache.hadoop.mapred.TextInputFormat                    | NULL                  |
      | OutputFormat:                 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat  | NULL                    |
      | Compressed:                   | No                                                          | NULL                  |
      | Num Buckets:                  | -1                                                          | NULL                  |
      | Bucket Columns:               | []                                                          | NULL                  |
      | Sort Columns:                 | []                                                          | NULL                  |
      | Storage Desc Params:          | NULL                                                        | NULL                  |
      |                               | field.delim                                                 | \t                    |
      |                               | serialization.format                                        | \t                    |
      +-------------------------------+-------------------------------------------------------------+-----------------------+--+

    相关文章

      网友评论

          本文标题:hdfs,hive大数据的存储管理和显示管理

          本文链接:https://www.haomeiwen.com/subject/xqmuwttx.html