我目前正在尝试将一个用于在测试堆上设置Spark / Hadoop的过程合并到我们的PowerShell脚本中。
这是一个Windows环境,有几个位投掷曲线球,但是这是最糟糕的:)
当我手动安装时,我可以从命令行运行%HADOOP_HOME%\bin\winutils.exe chmod 777 /tmp/hive
但我现在需要将其转换为Powershell脚本,这有可能吗?我已经破坏但尚未遇到解决方案。一篇文章建议使用icacls,但是/ tmp / hive不允许作为arg。
感谢您的帮助!
答案 0 :(得分:3)
使用PowerShell环境变量语法(.col-33 {
width: 33%;
float:left;
position: relative;
}
.full-image {
width: 100%;
height: 100%;
}
.card-description {
position: absolute;
bottom: 0;
left: 0;
right: 0;
text-align: center;
padding: 5px;
line-height: 1.5;
background-color: rgba(255, 255, 255, 0.6);
}
)而不是批处理语法($env:VARIABLE
)就足够了。请注意,您必须使用调用运算符才能工作。我还建议添加双引号,以防路径中有空格。
%VARIABLE%
对调用操作符的需求似乎是由于PowerShell的命令解析器未将表达式& "${env:HADOOP_HOME}\bin\winutils.exe" chmod 777 /tmp/hive
识别为路径。如果没有$variable\something
,您将获得例外
表达式或语句中出现意外的标记'\ bin \ winutils.exe'。