0

我在让 HDInsight 通过 Powershell 工作时遇到了一些问题。作为临时解决方法,任何人都可以通过 bat 文件指出我运行 Hive/Hadoop 脚本的正确方向。

我尝试创建一个 bat 文件并将其更改为 hive bin 文件夹并运行一些命令,但它不起作用。我猜那是打开dos提示符并运行命令而不是hadoop命令行。

干杯,克里斯。

4

2 回答 2

1

可以在群集头节点上运行的 .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 脚本。

于 2013-12-18T00:35:20.013 回答
0

您可以使用 Invoke-Hive -File 。有关详细信息,请参阅http://www.windowsazure.com/en-us/manage/services/hdinsight/using-hive-with-hdinsight/

如果要使用 Hive 命令行,则必须 rdp 进入簇头节点。在 Hadoop 命令行中,运行以下命令:

cd %Hive_Home%\bin 蜂巢

于 2013-12-10T01:29:57.723 回答