通过 shell 脚本运行 hbase shell 命令

通过 shell 脚本运行 hbase shell 命令

我正在尝试获取 hbase shell 中某个键的数据值。我正在命令行参数中传递键值,它在 shell 脚本中计算 md5sum 并应在 hbase 中扫描。

以下是我的 shell 脚本:

#!/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

有人可以帮我通过 shell 脚本运行这个 hbase shell 命令吗?

答案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

相关内容