如何为配置单元hql脚本设置umask?在运行脚本之前,是通过脚本中的语句还是通过客户端配置集?我想在客户端进行更改,而不更改服务器端配置。
我发现这可以在shell提示符下工作,但我想在配置单元脚本中完成。
$ hdfs dfs -Dfs.permissions.umask-mode=000 -mkdir /user/jeff/foo
$ hdfs dfs -Dfs.permissions.umask-mode=000 -put bar /user/jeff/foo
这些尝试无效:
hive> dfs -mkdir -Dfs.permissions.umask-mode=000 /user/jeff/foo;
-mkdir: Illegal option -Dfs.permissions.umask-mode=000
hive> dfs -Dfs.permissions.umask-mode=000 -mkdir /user/jeff/foo;
-Dfs.permissions.umask-mode=000: Unknown command
在.hiverc中设置hive.files.umask.value没有达到预期效果(没有设置g+w和o+w位,这正是我试图使用此umask所做的):
hive> set hive.files.umask.value;
hive.files.umask.value=000
hive> dfs -mkdir /user/jeff/foo;
hive> dfs -ls -d /user/jeff/foo;
drwxr-xr-x - jeff hadoop 0 2016-02-23 15:19 /user/jeff/foo
看起来我需要在hql脚本中添加一堆“dfs-chmod777…”语句。
思想??
暂无答案!
目前还没有任何答案,快来回答吧!