在Databricks中使用SQL计算Delta表统计信息报错求助
解决Databricks中ANALYZE TABLE路径引用的语法错误
错误的核心原因是ANALYZE TABLE语句不支持直接用字符串路径引用Delta表,必须明确指定表格式为delta,而DESCRIBE DETAIL本身支持直接传入路径参数,所以后者能正常执行。
修复方案
有两种可行的解决方式,根据使用场景选择:
直接通过路径计算统计信息
修改语句为指定Delta格式的路径引用:ANALYZE TABLE delta.`/my_dir/my_table` COMPUTE STATISTICS用
delta.路径``的语法,让SQL解析器正确识别这是一个路径对应的Delta表。先注册外部表再操作
如果需要重复操作该表,先通过路径注册为外部表:CREATE TABLE my_external_table USING DELTA LOCATION '/my_dir/my_table'之后直接使用表名执行统计计算:
ANALYZE TABLE my_external_table COMPUTE STATISTICS
验证统计信息
执行完正确的ANALYZE语句后,可以通过以下命令验证统计信息是否生成:
DESCRIBE EXTENDED '/my_dir/my_table'
在输出结果中查看Statistics字段,确认是否有对应的统计数据。
内容的提问来源于stack exchange,提问作者TOMC
相关产品推荐
相关产品推荐

