выполнение hbase окружает команду через сценарий оболочки

я пытаюсь выбрать значение данных для ключа hbase оболочка. я передаю значение ключа в параметре командной строки, для которого это вычисляющий md5sum в сценарии оболочки и должен просканировать в hbase.

следующее является моим сценарием оболочки:

#!/bin/bash
echo "cookieId: $1"
md5_hash="$(echo -n "$1"| md5sum | awk '{print $1}')"
echo "$md5_hash"
echo "get 'VIZVR_profile','md5_hash'" | "hbase shell"

команда, которую я выполняю:

sh hbase.sh "abcd"

но это бросает ошибку как:

hbase.sh: line 5: hbase: command not found
hbase.sh: line 5: : command not found

может кто-либо помогать мне выполнить эту команду оболочки hbase через сценарий оболочки.

1
задан 6 March 2017 в 12:20

1 ответ

Обновление 5-й строки в Вашем сценарии к ниже строки должно решить проблему:

echo "get 'VIZVR_profile','md5_hash'" | hbase shell

Объяснить

Когда Вы выполняете следующую команду:

echo "get 'VIZVR_profile','md5_hash'" | "hbase shell"

echo команда передается по каналу в следующую команду "hbase shell"

Проблема здесь, то, что нет никакой названной команды "hbase shell"

Команда hbase с параметром shell

Удаление кавычки должно решить проблему (принимающий это hbase находится в Вашем path).

Примечание: Вы, возможно, должны были бы заменить hbase в 5-й строке сценарий с full/path/to/hbase

2
ответ дан 7 December 2019 в 13:36

Другие вопросы по тегам:

Похожие вопросы: