Запустите пакетный файл Hive и Hadoop в HDInsight

У меня возникла небольшая проблема с работой HDInsight через Powershell. В качестве временного решения может ли кто-нибудь указать мне правильное направление запуска сценариев Hive/Hadoop через файл bat.

Я попытался создать файл bat и изменить его на папку bin улья и выполнить некоторые команды, но это не сработало. Я предполагаю, что это открывает приглашение dos и запускает команды, а не командную строку hadoop.

Здоровья, Крис.


person user1102550    schedule 09.12.2013    source источник


Ответы (2)


Вы можете использовать командную строку hive в файле .bat, запущенном на головном узле кластера. Для этого вам нужно будет включить удаленный рабочий стол в панели управления Azure, а затем подключиться к головному узлу по протоколу RDP.

Затем вы можете запустить файл .bat, содержащий что-то вроде

%Hive_Home%\bin\hive -e "your query here"

если у вас есть более длинный запрос, возможно, имеет смысл поместить его в отдельный файл и использовать:

%Hive_Home%\bin\hive -f "your query here"

Хотя это возможно, это определенно не рекомендуется. Я настоятельно рекомендую не включать подключение к удаленному рабочему столу в вашем кластере и вместо этого использовать команду PowerShell Invoke-Hive от клиента, который выполняет планирование. Конечно, вы можете обернуть выполнение этого PowerShell в bat-файл, если вам действительно нужно, но на самом деле вы ничего не получаете в этот момент. Если ваша цель состоит в том, чтобы запланировать выполнение запроса куста, вам, вероятно, лучше просто запланировать сценарий PowerShell.

person Simon Elliston Ball    schedule 18.12.2013
comment
Могу ли я просто добавить, что я столкнулся с ограничением, когда задания, отправленные из Powershell, по-видимому, терпят неудачу через один час с ошибкой. Запрошенная задача не была завершена в отведенное время (01:00:00). даже несмотря на то, что задание на самом деле не провалилось, оно все еще выполняется. По этой причине я иногда предпочитаю запускать задания Hive через командную строку на головном узле. - person jamiet; 30.04.2014
comment
@jamiet, у invoke-hive есть тайм-аут, который вы не можете изменить. Если вы хотите выполнить более длительный запрос, используйте New-AzureHDInsightHiveJobDefinition/Start-AzureHDInsightJob. - person Cary; 02.09.2015

Вы можете использовать Invoke-Hive -File . Для получения дополнительной информации см. http://www.windowsazure.com/en-us/manage/services/hdinsight/using-hive-with-hdinsight/.

Если вы хотите использовать командную строку Hive, вы должны подключиться к головному узлу кластера по протоколу rdp. В командной строке Hadoop выполните следующие команды:

cd %Hive_Home%\bin Улей

person Jonathan Gao    schedule 10.12.2013
comment
Я не могу использовать powershell в данный момент. Как запустить Hive из файла, такого как bat-файл в Windows. Я хочу запустить скрипт по таймеру. - person user1102550; 10.12.2013