2016-08-24 66 views
1

我有一个管理蜂巢表,并使用下面的命令它移动到不同的数据库:星火无法读取表的内容

alter table_name rename to new_db.table_name 

表移动成功,所有的数据是根据数据库现在。该表格在HIVE中显示得很好。但是,当我尝试从Spark读取表格时,它可以读取模式,但没有内容。也就是说,count返回零!发生了什么?我该如何解决这个问题?

我使用下面的代码加载它的火花:

val t = sqlContext.table("new_db.table_name") 
+0

可以添加你的火花代码? – David

+0

我做到了。不应该有任何问题,因为这是我总是将HIVE表格加载到火花中的方式 –

回答

0

有时候,只是改变名称是不够的,我只好也改变位置。

sqlContext.sql(""" 
ALTER TABLE new_table 
SET LOCATION "hdfs://.../new_location" 
""") 

并刷新星火表的好措施

sqlContext.sql(""" 
REFRESH TABLE new_table 
""") 

你可以仔细检查,如果该位置是正确的W/describe formatted new_table