我有一个托管的hive表,并使用以下命令将其移动到另一个数据库:
alter table_name rename to new_db.table_name
表已成功移动,所有数据现在都在数据库下。该表在HIVE中显示良好。但是当我尝试从Spark读取表时,它可以读取模式,但那里没有内容。也就是说,count
返回零!发生了什么事?我该如何解决这个问题?
我使用以下代码在spark中加载它:
val t = sqlContext.table("new_db.table_name")
答案 0 :(得分:0)
有时只是改变名称还不够,我不得不改变位置。
sqlContext.sql("""
ALTER TABLE new_table
SET LOCATION "hdfs://.../new_location"
""")
并刷新Spark中的表格以获得良好的衡量标准
sqlContext.sql("""
REFRESH TABLE new_table
""")
您可以仔细检查位置是否正确w / describe formatted new_table