Hive基础(1)

来源:互联网 发布:网络直销是什么意思 编辑:程序博客网 时间:2024/05/22 14:39

Hive基础(1)

Hive的HQL(2)

1. Hive并不是分布式的,它独立于机器之外,类似于Hadoop的客户端。

2. 元数据和数据的区别,前者如表名、列名、字段名等。

3. Hive的三种安装方式

  • 内嵌模式,元数据服务和Hive服务运行在同一个JVM中,同时使用内嵌的Derby数据库作为元数据存储,该模式只能支持同时最多一个用户打开Hive会话。
  • 本地模式,元数据服务和Hive服务运行在同一个JVM中,采用了外置的MySQL作为元数据存储,该种方式支持多个用户同时访问Hive。
  • 远程模式,元数据服务和Hive服务运行在不同的进程内,这样做的好处是,数据库层可以完全地置于防火墙之后,客户端则不需要数据库验证。
  • 推荐,生产环境中,使用本地模式、远程模式。

4. Hive不支持行级别的更新、插入或者删除操作,并且不支持事物。Hive不能做OLTP的“联机”部分,所以对Hive更适合离线计算,对于实时性要求很高的可以选择HBase或者Impala。

5. Hive和关系型数据库的区别

compare Hive RMDBS 查询语言 HQL SQL 数据存储位置 HDFS Raw Device或者Local FS 数据格式 用户定义 系统决定 数据更新 不支持 支持 索引 无 有 执行 MapReduce Executor 执行延迟 高 低 可扩展性 高 低 数据规模 大 小

6. Hive的数据类型与存储格式

  • 数据类型
    • 基本数据类型:整型、浮点型、布尔型等
    • 复杂数据类型(集合):STRUCT、MAP、ARRAY
  • 存储格式
    • TEXTFILE(default)
    • 不压缩、磁盘开销大、数据解析开销大
    • SEQUENCEFILE
    • 使用方便、可分割、可压缩、按行切分
    • RCFILE
    • 行列存储相结合,首先,将数据按行分块,保证同一条记录在一个块上,避免读一条记录需要读取多个块。其次,块上的数据按照列式存储,有利于数据压缩和快速地进行行列存取,也就是“先按水平划分再按垂直划分”
    • 自定义
    • 用户可通过实现InputFormat和OutputFormat来自定义输入输出格式。
0 0
原创粉丝点击