我们有一个包含着陆层、青铜层、白银层表的 ETL 管道。数据作为外部表存储在 Azure ADLS 容器中。管道每天都在运行,数据存储在
我们有一个包含登陆、青铜、白银层表的 ETL 管道。数据作为外部表存储在 Azure ADLS 容器中。管道每天都在运行,数据存储在所需的位置。
但现在我们发现外部位置目录名称不正确,需要重命名,而不会影响日常管道和这些表的下游数据访问。
我找到了一些关于 ALTER EXTERNAL LOCATIONS 等的参考,但是当我尝试进行一些假设时,因为我不确定在重命名 ADLS 容器中的文件夹后是否需要运行此命令,或者应该稍后再执行此操作。
,还收到错误“AnalysisException: /mnt/bronze/user_data
不是 Delta 表”。有人可以解释一下要遵循的步骤,以便可以重命名外部位置,并将其应用于引用旧位置的所有表吗?
我在此提供可重现的代码以供测试。
p6
p7
p8
p9
p10
p11
p12
p13
p14
更改表 hive_metastore.user_master.user 设置位置'/mnt/bronze/user_data';
如果我在运行此命令之前尝试重命名 ADLS 容器中的文件夹,那么我们会收到未找到表的错误。
感谢任何帮助,重命名 ADLS 容器/文件夹路径,并重命名现有表的路径外部位置,而不会产生任何影响。