1.hive.cli.print.header, hive.cli.print.row.to.vertical, hive.cli.print.row.to.vertical.num 这三个参数没有其作用
原因:hive-site文件没有被hive程序找到。
2.hive所创建的表的数据存放在哪里了,hadoop上的hdfs吗?是通过什么参数控制的?但为什么在hadoop环境下用 hadoop fs -lsr 看不到表的数据文件呢?
是;
hive.metastore.warehouse.dir;
因为hadoop dfs -lsr 默认显示的是用户(hadoop的用户,不是计算的用户)主目录下的内容,相当于hadoop dfs -lsr . 须通过名令 hadoop dfs -lsr [hive.metastore.warehouse.dir] 查看 .通过hadoop dfs -lsr /可查看整个hadoop 的文件系统。
3.hive的元数据(表头)存放在哪里? 通过什么参数控制?
放在mysql数据库里, 由javax.jdo.option.ConnectionURL和javax.jdo.option.ConnectionDriverName决定
4.如何把hive的元数据存放在关系数据库中去?怎么配置?
把hive下的一个表(头)会映射成mysql下的多个表。因为如果仅仅存下表头信息显然无法在hadoop上找到相应的表的内容。
5.conf/hive-site.xml似乎没有其作用啊?
原因:hive-site文件没有被hive程序找到。
6.hive是否一定需要hadoop的支持? 怎么设置?
需要。hive-site.xml与环境变量综合
7.如何使hive找到hive-site.xml配置文件呢?
其中一种办法是把hive-site.xml添加到JAR包hive-commom-0.9.0(跟具体的版本有关)里面去。应该还有更加灵活的方法吧。
8.hive链接已经存在的数据库总是失败,必须先把数据库删除之后重建才能成功!这是什么原因呢?
这是使用嵌入式数据库(derby)是出现的。原因搞不懂。