hive执行导入操作以及运行sql等操作的时候hadoop会发生什么样的变化

先看hdfs这边的变化:        

        当使用load data local inpath  '/root/search.txt' into table t_searchword;这类的语句导入数据到hive表中的时候,hadoop机器会在hdfs根目录下为hive创建目录/usr/hive/warehouse(第一次使用hive创建数据库的时候自动创建,以后创建的数据库都在这个目录下),在/usr/hive/warehouse目录下是lzzcmsdb.db,也就是你使用hive创建的数据库的名字lzzcmsdb再加个".db",其实就是个文件夹,在lzzcmsdb.db下面是表名,表名也是个文件夹,如t_searchword,表名文件夹里面存放的是真正的数据文件search.txt。整个关系如下图所示(http://node113:50070):

hive执行导入操作以及运行sql等操作的时候hadoop会发生什么样的变化

再看mapreduce的变化:

        当在hive中执行hive  sql时实际上就是触发的hadoop集群的mapreduce功能,我每执行一次hive sql在yarn的管理界面(http://node113:8088)都可以看到:

hive执行导入操作以及运行sql等操作的时候hadoop会发生什么样的变化