首先,我创建了一个名为"ProDF"的数据帧。然后我需要将 proDf 保存为"orc"格式表。我使用了下面的代码:
import org.apache.spark.sql.SaveMode
proDF.write.mode(SaveMode.Overwrite).format("orc").saveAsTable("product_orc_table")
但是,Spark shell 返回了一个失败:
消息:java.security.AccessControl异常:权限被拒绝: user=junyanxu,access=WRITE,inode="/apps/hive/warehouse/product_orc_table":uma_kanagarajan:hdfs:drwxr-xr-x
我尝试使用代码更改/apps/hive/warehouse/product_orc_table
的权限:
hadoop fs -chmod 777 /apps/hive/warehouse/product_orc_table
但是这段代码被否认了,并说:
用户=君燕徐不是inode=product_orc_table的所有者。
我希望我可以成功创建兽人表。
这里提到了/apps/hive 的用户和组所有权
要开始并执行您的命令,请执行hadoop fs -chmod 777 /apps/hive/warehouse/product_orc_table
在执行以下命令之前,您需要成为 HDFS 用户
sudo su
su hdfs
请注意,这不是更好的做法,请遵循上述链接中Hive所需的权限。