嗨,我试图在本地模式下运行Hive,我已经设置了HIVE_OPTS环境变量
export HIVE_OPTS='-hiveconf
mapred.job.tracker=local
-hiveconf fs.default.name=file:////<myhomedir>/hivelocal/tmp
-hiveconf hive.metastore.warehouse.dir=file:////<myhomedir>/hivelocal/warehouse
-hiveconf javax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=/<myhomedir>/hivelocal/metastore_db;create=true'
并使用hive
客户端连接到hive
当我创建表(名称demo
)时,我仍然看到表正在HDFS的default
数据库中创建。我希望在本地文件系统(file:///
)中创建表,因为我使用hive.metastore.warehouse.dir=file:////<myhomedir>/hivelocal/warehouse
我错过了什么吗?
PS:我正在使用Cloudera发行版
我也面临着同样的问题。以下是步骤(试用)
-
go to
/etc/hive/conf
&renamehive-site.xml
由cloudera生成。 -
检查
/tmp/hive
的权限并给予适当的权限。暂时,为了测试,我给出了:[cloudera@quickstart ~]$ sudo chmod 777 /tmp/hive/
-
配置本地模式:
[cloudera@quickstart ~]$ export HIVE_OPTS='-hiveconf mapred.job.tracker=local -hiveconf fs.default.name=file:///home/cloudera/hivelocal/tmp -hiveconf hive.metastore.warehouse.dir=file:///home/cloudera/hivelocal/warehouse –hiveconf javax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=/home/cloudera/hivelocal/metastore_db;create=true'
-
创建表:
hive> Create table doc_one(text string) row format delimited fields terminated by 'n' stored as textfile;
-
/home/cloudera/hivelocal/
表创建成功