解决Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState': java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: ---------
首先需要在windows路径下有hadoop的winutils.exe。并加该bin目录加入到环境变量,不加的话下面的命令需要使用到全路径。
windows上使用如下命令:将制定路径的文件权限修改
%HADOOP_HOME%inwinutils.exe ls F: mphive
%HADOOP_HOME%inwinutils.exe chmod 777 F: mphive
%HADOOP_HOME%inwinutils.exe ls F: mphive
在windows环境下,需要使用如下命令设置用户,否则会报异常GetLocalGroupsForUser error (2221): ???????
System.setProperty("HADOOP_USER_NAME","HHH")