Я тренируюсь на клоудере ВМ и создал внешний стол.Когда я добавляю раздел, выдается исключение разрешения.
Это нормально, что куст пытается сохранить файл в корневом каталоге hdfs?Должен ли я / как я могу изменить это поведение?В противном случае, что мне нужно сделать, чтобы решить эту проблему?Я не нашел эту ошибку в документации ..
hive> use question3;
OK
Time taken: 0.016 seconds
hive> drop table if exists question3;
OK
Time taken: 0.162 seconds
hive> create external table question3 (
> month_name string
> , day string
> , time string
> , node string
> , process string
> , log_msg string
> )
> partitioned by (year int, month int)
> row format serde 'org.apache.hadoop.hive.serde2.RegexSerDe'
> with serdeproperties (
> "input.regex" = "^(\\S+)\\s+(\\S+)\\s+(\\S+:\\S+:\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(.*$)"
> , "output.format.string" = "%1$s %2$s %3$s %4$s %5$s"
> )
> stored as textfile
> location 'hdfs:/user/hive/question3';
OK
Time taken: 0.178 seconds
hive> alter table question3 add if not exists partition (year=2016, month=06)
> location "/home/tobi/question3/question3_jul16.log";
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.io.IOException: Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxrwxr-x
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:279)
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:260)