我正在本地模式下运行pyspark(1.6.1)。我有一个来自csv文件的Dataframe,我需要添加密集的列。我知道sqlcontext不支持window函数,但hivecontext支持。
hiveContext = HiveContext(sc)
df.registerTempTable("visits")
visit_number = hiveContext.sql("select store_number, "
"dense_rank() over(partition by store_number order by visit_date) visit_number "
"from visits")
我得到错误:analysisexception:u'table not found:visions;
在警告:warn objectstore:failed to get database default,returning nosuchobjectexception之后
在阅读了前面的问题之后,我尝试将conf/hive\u defaults.xml中的connectionurl更改为hive目录的确切位置,但没有成功。
有人知道这个问题吗?
谢谢!
2条答案
按热度按时间b5lpy0ml1#
结果:删除sqlcontext并只使用hivecontext,一切都正常。
k97glaaz2#
您应该在registertemptable之前创建dataframe
在那之后: