Hive的MapReduce任务
在Hive(三)中的查询表的时候,查询全部信息直接出结果,查询表中的name属性则是执行的MR程序。但是我们任务查询单列信息,没有必要执行MR程序,这样太慢了,所以我们要对配置文件进行修改
<property>
<name>hive.fetch.task.conversion</name>
<value>more</value>
</property>
Hive的元数据库的备份与还原
常见错误:启动Hive时,无法初始化metastore数据库,无法创建连接,无法创建会话。
可能性分析:(hive必须要依赖metastore)
- hive的metastore数据库丢失了,比如drop、文件损坏等
- metasotre版本号不对:
比如:现在有两个一摸一样的集群,第一个集群中hive操作了一些数据,此操作完成之后,metastore中肯定会发生变化,这时候将这个metastore完全复制到第二个集群中。当第二个集群的hive去连接这个metastore数据库的时候,可能会有版本号对不上的问题。hive操作metastore的时候,会有个版本号记录,如果版本号对不上,就认为hive想找的metastore版本丢失了。 -
远程表服务:
远程表服务出错
备份的基本语法:
$ mysqldump -uroot -p metastore > metastore.sql
metastore数据库备份
还原的基本语法:
$ mysql -uroot -p metastore < metastore.sql
复习:find命令,查找metastore.sql默认存放位置