Hive 表

内表和外表

内表(Managed Table)

也称为“管理表”,其数据文件、元数据及统计信息全部由Hive进程自身管理.内表的数据存储在由hive.metastore.warehouse.dir指定的路径下,类似于/user/hive/warehouse/dbname.db/tablename/。删除内表时,其数据文件、元数据信息都会统一删除,一般在生产环境下不会使用内表,需要创建临时表或者声明周期完全有Hive管理的表时,推荐使用内表

外表(External Table)

通过原信息或者Schema描述外部文件的结构。外表的文件可以被Hive之外的进程访问和管理,例如HDFS。当删除外表时,删除的为hive算管理的元数据信息,由外部文件系统所管理的数据是不会被删除的

区分内外表

在hive中执行desc fromatted 表名来查看表是属于内表还是外表

文件存储格式

在hive的建表过程中,通过STORED AS来指定表的存储格式

  • STORED AS TEXTFIEL hive表的默认存储格式
  • STORED AS SEQUENCEFILE 已压缩的序列化文件
  • STORED AS ORC 存储为ORC格式的文件
  • STORED AS PARQUET 存储Parquet文件 列式格式文件
  • STORED AS AVRO 存储AVRO格式的文件
  • STORED AS RCFILE 存储RC(Record Columnar)格式文件
  • STORED BY 由非内置id表格式存储,例如用HBase存储数据
    通常使用列式存储的方式进行数据的存储,如ORC、PARQUET、AVRO等

序列化和反序列化

序列化是将数据对象转化为字节序列的一个过程.
反序列化是序列化的逆过程,是将字节序列转化为数据对象的过程

序列化的用途

  • 对象的持久化
  • 对象数据的网络传输

你可能感兴趣的:(hive)