我是大数据和相关工具/技术的新手。我正在阅读黑斑羚的文件。
说Impala是一个群集的柱状数据库是真的吗? 和Impala需要大量内存来计算/转换数据?
答案 0 :(得分:1)
Impala不是数据库。
Impala是一个MPP(大规模并行处理)SQL查询引擎。它是HDFS结构之上的SQL接口。您可以在Parquet文件上构建文件结构,这些文件是允许您快速读取数据的柱状文件。
根据Impala documentation:
Impala直接在存储在HDFS,HBase或Amazon Simple Storage Service(S3)中的Apache Hadoop数据上提供快速,交互式SQL查询。除了使用相同的统一存储平台之外,Impala还使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue中的Impala查询UI)作为Apache Hive。这为实时或面向批处理的查询提供了一个熟悉且统一的平台。
Impala使用Hive Metastore存储每个文件的文件结构和Schema。 Impala允许您在文件中运行SQL查询,它将负责并行化集群中的数据。
关于Memory的使用,你是部分正确的。 Impala使用内存绑定执行,Hive使用基于经典映射的磁盘减少Tez执行。在较新版本的Impala中,您可以使用Disk Spill,它可以帮助您处理不适合您内存的数据。
答案 1 :(得分:0)
Impala与Apache Hive元存储数据库集成,以在两个组件之间共享数据库和表。与Hive的高度集成以及与HiveQL语法的兼容性使您可以使用Impala或Hive来创建表,发出查询,加载数据等。
Impala不是数据库。
Impala不是基于Map-Reduce算法。它实现了一个基于守护进程的分布式体系结构,该进程负责在同一台机器上运行的查询执行的所有方面。