写入hive表的时候,表被锁了 导致表创建失败写入不成功。所以报了以下错误:
Retrying task after failure: Waiting for lock on table default.promo_codes org.apache.iceberg.hive.MetastoreLock$WaitingForLockException: Waiting for lock on table default.promo_codes
解决办法:
我用的是hive自带derby数据库,如果你元数据库用的Mysql 那就连接Mysql客户端
//1,cd hive安装目录
cd /home/qiaorunyang/hive/apache-hive-3.1.2-bin
//2,连接数据库,路径改成自己的元数据存储位置
./bin/beeline -u "jdbc:derby:/home/qiaorunyang/hive/metastore_db;create=true"
//3,删除,直接运行无需修改
delete from HIVE_LOCKS where 1=1;
如果展示为以下样式即为成功
然后在去运行程序,表的锁被解除 表成功创建 数据成功写入
如果用的mysql 或者其他数据库语言作为元数据库,解决思路是一样的。自己去百度以下改语言的锁怎么删除就可以了