我正在处理Imapala上的一些表,并使用jdbc HIVE驱动程序进行查询。我需要在提取数据之前对某些表运行刷新(或将Impala配置为自动运行)。当我尝试通过jdbc驱动程序运行refresh tablename
时,我无法(因为在HIVE中此命令不存在-我认为)。我试图编写一个简单的impala-shell脚本(refresh tablename
)并使用像curl -i -L "http://<server>:50070/webhdfs/v1/<path to sh file>?op=OPEN"
这样的curl运行,它也不起作用。有人能帮我吗?
谢谢!
答案 0 :(得分:0)
请尝试
INVALIDATE METADATA databsename.tablename
答案 1 :(得分:0)
@Andisu:如果要通过 Impala-Shell 进行刷新,请运行以下命令:
impala-shell -d db_NAME -q "REFRESH tablename";
-q:处理双引号中的语句后,impala-shell解释器立即退出。
如果您执行 REFRESH ,这意味着new data files
已由您添加到表的HDFS位置,因此这些文件的阻止位置的元数据必须加载到 Impala Daemon协调器中。