我在让 HDInsight 通过 Powershell 工作时遇到了一些问题。作为临时解决方法,任何人都可以通过 bat 文件指出我运行 Hive/Hadoop 脚本的正确方向。
我尝试创建一个 bat 文件并将其更改为 hive bin 文件夹并运行一些命令,但它不起作用。我猜那是打开dos提示符并运行命令而不是hadoop命令行。
干杯,克里斯。
我在让 HDInsight 通过 Powershell 工作时遇到了一些问题。作为临时解决方法,任何人都可以通过 bat 文件指出我运行 Hive/Hadoop 脚本的正确方向。
我尝试创建一个 bat 文件并将其更改为 hive bin 文件夹并运行一些命令,但它不起作用。我猜那是打开dos提示符并运行命令而不是hadoop命令行。
干杯,克里斯。
您可以在群集头节点上运行的 .bat 文件中使用 hive 命令行。为此,您必须在 Azure 控制面板中启用远程桌面,然后在头节点中启用 RDP。
然后,您可以运行包含类似内容的 .bat 文件
%Hive_Home%\bin\hive -e "your query here"
如果您有更长的查询,则将其放在单独的文件中并使用可能是有意义的:
%Hive_Home%\bin\hive -f "your query here"
虽然这是可能的,但它肯定是不可取的。我强烈建议不要在集群上启用远程桌面连接,而是使用Invoke-Hive
正在执行调度的客户端的 PowerShell 命令。当然,如果确实需要,您可以将该 PowerShell 的执行包装在一个 bat 文件中,但此时您并没有真正获得任何东西。如果您的目标是安排一个 hive 查询运行,您最好只安排一个 PowerShell 脚本。
您可以使用 Invoke-Hive -File 。有关详细信息,请参阅http://www.windowsazure.com/en-us/manage/services/hdinsight/using-hive-with-hdinsight/。
如果要使用 Hive 命令行,则必须 rdp 进入簇头节点。在 Hadoop 命令行中,运行以下命令:
cd %Hive_Home%\bin 蜂巢