windows - 用于 winutils 和 hadoop/spark 的 Powershell chmod on/tmp/hive

标签 windows powershell hadoop apache-spark

我目前正在尝试将在测试堆栈上设置 Spark/Hadoop 的过程合并到我们的 powershell 脚本中。

这是一个 Windows 环境,有些人正在抛出曲线球,但这是最糟糕的 :)

当我手动安装时,我可以从命令行运行 %HADOOP_HOME%\bin\winutils.exe chmod 777/tmp/hive 但我现在需要将其转换为 Powershell 脚本,这可能吗在所有?我已经搜索过但还没有找到解决方案。一篇文章建议使用 icacls,但不允许/tmp/hive 作为 arg。

感谢您的帮助!

最佳答案

使用 PowerShell 环境变量语法 ($env:VARIABLE) 而不是批处理语法 (%VARIABLE%) 应该就足够了。请注意,您必须使用调用接线员才能使其正常工作。我还建议添加双引号以防路径中有空格。

& "${env:HADOOP_HOME}\bin\winutils.exe" chmod 777 /tmp/hive

调用运算符的需要似乎是由于 PowerShell 的命令解析器无法将表达式 $variable\something 识别为路径。没有 & 你会得到一个异常

Unexpected token '\bin\winutils.exe' in expression or statement.

关于windows - 用于 winutils 和 hadoop/spark 的 Powershell chmod on/tmp/hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698907/

相关文章:

powershell - 从后台作业获取输出

powershell - Powershell-复制已知子文件夹中的所有项目,并排除其他所有内容

Hadoop超立方体

java - 获取异常 java.sql.SQLException : socket creation error

hadoop - ibm-bluemix-节点红色-应用程序未运行,我无法添加分析服务

c - 为什么我必须按 ctrl+z 两次才能中断文件末尾?

windows - CreateDC 失败,错误代码为 0

.net - NamedpipeClientStream 无法连接,一直超时

c# - 如何从 c# 调用带有 "format-list"和 "out-file"管道的 powershell 命令?

c# - Windows 窗体可以在没有关闭按钮的情况下显示最小和最大按钮吗?