优化一下上面的脚本,自动创建命名空间和表,并每隔一段时间往表中插入数据
时间: 2024-03-29 20:40:12 浏览: 44
自动创建表
以下是一个优化后的shell脚本,可以自动创建命名空间和表,并每隔一段时间往表中插入数据:
```bash
#!/bin/bash
# 设置变量
NAMESPACE="your_namespace"
TABLE="your_table"
COLUMN_FAMILY="cf"
COLUMN_NAME="column"
SLEEP_TIME=60
# 创建命名空间
echo "Creating namespace: ${NAMESPACE}"
echo "create_namespace '${NAMESPACE}'" | hbase shell
# 创建表
echo "Creating table: ${TABLE}"
echo "create '${NAMESPACE}:${TABLE}', '${COLUMN_FAMILY}'" | hbase shell
# 无限循环
while true
do
# 生成随机数
DATA=$(shuf -i 1-100 -n 1)
# 获取当前时间戳
TIMESTAMP=$(date +%s)
# 构建put命令
CMD="put '${NAMESPACE}:${TABLE}', '${TIMESTAMP}', '${COLUMN_FAMILY}:${COLUMN_NAME}', '${DATA}'"
# 执行put命令
echo "Inserting data: ${DATA}"
echo "${CMD}" | hbase shell
# 休眠一段时间(单位:秒)
sleep ${SLEEP_TIME}
done
```
脚本的作用是每隔60秒往HBase中的一个命名空间和表插入一个随机数。如果命名空间和表不存在,脚本会自动创建。您需要根据实际情况修改脚本中的命名空间、表、列族、列和休眠时间等参数。
阅读全文