我正在尝试获取 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