我已经创建了一个spark上下文对象,并尝试从hadoop服务器上的文本文件(不是在我的本地)检索文本,我能够检索到它。
当我试图检索配置单元表(在独立计算机、集群上)时,我做不到,当我创建配置单元表时,它将在metastore\u db中本地创建
sql(“创建表yahoo\u orc\u table(date string,open\u price float,high\u price float,low\u price float,close\u price float,volume int,adj\u price float)存储为orc”)
我试着设置metastore
objhivecontext.setconf(“hive.metastore.warehouse.dir”,”hdfs://serverip:hiveportnum/apps/hive/warehouse“)
&&另外还有objhivecontext.hql(“设置hive.metastore.warehouse.dir=hdfs://serverip:portnumber/apps/hive/warehouse“)
我甚至在spark machine conf文件夹中放置了配置单元站点xml,
如何使我的scala应用程序联系hive-site.xml并从该xml获取元存储信息,以及应将我的hive-site.xml放在何处
我把它放在了我的应用程序中,就像建议在classpath中添加的地方一样,我添加了,并且可以看到mypom.xml文件的正上方,但是我的scala应用程序仍然处于本地模式
表(yahoo\u orc\u table)是在d:\user\hive\warehouse中本地创建的
2条答案
按热度按时间epfja78i1#
唯一应该放在spark conf目录中的地方。如果你把它放在那里,但仍然没有工作,那就意味着问题出在其他地方,可能在hive-site.xml的内容中。
e3bfsja22#
这个问题在spark2上得到了解决,在将配置单元站点xml文件放入spark machine conf文件夹后,您可以使用:
这段代码在集群的hive中创建表“yahoo\u orc\u table”。