spark读写odps异常
报错信息:
ERROR ApplicationMaster: User class threw exception: java.io.IOException: GetFileMeta PANGU_CAPABILITY_NO_PERMISSION PANGU_CAPABILITY_NO_PERMISSION PanguPermissionException When GetFileMeta
问题现象:
1)本地idea环境下执行可以写成功
2)本地打包后,在本地执行–local 也可以执行成功
3)打包后,提交到odps集群报错如上
排查原因:
odps并不支持直写盘古文件,在本地执行的时候底层肯定是写到盘古了,但是local应该是作为odps一个文件类似于资源去写的,然后打包提交cluster就变成直写盘古了,所以直写盘古会直接报错。
解决:
1)非结构化文件—》oss
2)结构化文件–》[Table] odps