HDFS
1.HDFS是Hadoop的分布式文件系统,用于存储大量的数据。它将大文件分割成块,并将这些块分别存储在集群的多个节点上。HDFS是运行在通用硬件上的可以随意搭建并且兼容,可以达到完美的拓展性。可以减小成本和很好的容错性。
2.hdfs dfs是HDFS客户端命令行工具,在linux系统上使用hdfs dfs 开头的命令就可以完成对HDFS文件的复制,删除和查找等操作。
常用命令:
hdfs dfs -help
创建文件夹
hdfs dfs -mkdir /user/hive/warehouse/test
Hive
1.Hive是基于Hadoop的一个数据仓库工具,可以将结构化的文件映射为一张数据库表,并提供类SQL查询功能。
2.Hive表的结构(schema)和实际数据文件是分离的。Hive本身并不存储数据,其数据存储的本质还是HDFS,所有的数据读写都基于HDFS的文件来实现。而通常使用Hive Metastore管理元数据。Metastore通常是存储在关系型数据库如mysql,PG中。Hive中的元数据包括表的名字,表的列和分区,表的属性(内部表,外部表)
3.Hive本质是将HQL语句转化也MapReduce任务执行,使不熟悉MapReduce的用户很方便利用HQL进行数据ETL操作。
4.在hive上建表,impala上查询不到该表。因为impala感知不到hive的改动。Hive中做的DDL操作,以及数据加载操作,都需要INVALIDATE METADATA或者REFRESH语句刷新字典缓存才能在impala正常查询。但是反过来impala建表就不需要通知hive。
5. hive建表:—待补充
Impala
1.impala是基于Hive的大数据实时分析查询引擎。直接使用Hive的元数据库Metadata,意味着impala元数据都存储在hive的metastore当中,并且impala兼容hive的绝大多数sql语法。所以安装 impala必须先安装hive,并且还要启动hive的metastore服务。
2.所以impala不支持表结构的变更。表结构变更一般推荐通过hive进行。
3.Hive适合长时间的批处理分析,而impala适合于实时交互式SQL查询
4.impala SQL语法:—待补充
5930

被折叠的 条评论
为什么被折叠?



