【发布时间】:2017-04-28 08:26:50
【问题描述】:
我是大数据和相关工具/技术的新手。我正在浏览 impala 的文档。
说 Impala 是一个集群列式数据库是真的吗? Impala 需要大量内存来计算/转换数据?
【问题讨论】:
标签: hdfs impala bigdata database
我是大数据和相关工具/技术的新手。我正在浏览 impala 的文档。
说 Impala 是一个集群列式数据库是真的吗? Impala 需要大量内存来计算/转换数据?
【问题讨论】:
标签: hdfs impala bigdata database
Impala 不是数据库。
Impala 是一个 MPP(大规模并行处理)SQL 查询引擎。它是在 HDFS 结构之上的 SQL 接口。您可以在 Parquet 文件上构建文件结构,这些文件是允许您快速读取数据的列式文件。
据 Impala documentation:
Impala 直接针对存储在 HDFS、HBase 或 Amazon Simple Storage Service (S3) 中的 Apache Hadoop 数据提供快速的交互式 SQL 查询。除了使用相同的统一存储平台外,Impala 还使用与 Apache Hive 相同的元数据、SQL 语法(Hive SQL)、ODBC 驱动程序和用户界面(Hue 中的 Impala 查询 UI)。这为实时或面向批处理的查询提供了一个熟悉且统一的平台。
Impala 使用 Hive Metastore 来存储每个文件的文件结构和 Schema。 Impala 允许您在文件中运行 SQL 查询,它将负责并行化集群中的数据。
关于内存的使用,你说对了一部分。 Impala 使用内存绑定执行,Hive 使用基于经典 map reduce 的磁盘而不是 Tez 执行。在较新版本的 Impala 中,这允许您使用 Disk Spill,这将帮助您处理不适合您记忆的数据。
【讨论】:
Impala 与 Apache Hive 元存储数据库集成,以在两个组件之间共享数据库和表。与 Hive 的高度集成以及与 HiveQL 语法的兼容性,让您可以使用 Impala 或 Hive 创建表、发出查询、加载数据等。
Impala 不是数据库。
Impala 不基于 Map-Reduce 算法。它实现了一个基于守护进程的分布式架构,这些进程负责在同一台机器上运行的查询执行的所有方面。
【讨论】: