2016-08-24 85 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