最近在做的项目要用到Hive和HBase,测试过程中需要查数据,记录一些常用语句,免得以后忘了。
一、Hive
1. Hive 终端命令
#Linux终端进入Hive终端
hive shell
#显示当前所有数据库
show databases;
#使用数据库
use database_name;
#显示当前所有表
show tables;
#查看表结构
desc formatted table_name;
#查询语句(基本和普通sql语句一样)
select * from table_name where column_name = 'value';
2. Linux执行Hive shell命令
#-e 外部执行sql语句
hive -e 'select * from database_name.table_name'
#查询结果存为文件
hive -e 'select * from database_name.table_name' > ./Result.txt
#-f 执行sql文件
hive -f ./hive_script.sql
二、HBase
1. HBase终端命令
#Linux终端进入HBase终端
hbase shell
#查看库中所有的表
list
#查看表结构
describe 'table_name'
#获取表中所有记录(所有Key的所有列)
scan 'table_name'
#获取表中所有记录(所有Key的指定列族)
scan 'table_name', {COLUMNS => ['column_family_name:']}
#获取表中所有记录(所有Key的指定列)
scan 'table_name', {COLUMNS => ['column_family_name:column_name']}
#所有表中指定Key的所有列
get 'table_name','Key_name'
2. Linux执行HBase shell命令
#外部执行sql语句
echo "scan 'table_name', {COLUMNS => ['column_family_name:column_name']}" | hbase shell
echo "get 'table_name','Key_name']}" | hbase shell
#查询结果存为文件
echo "scan 'table_name', {COLUMNS => ['column_family_name:column_name']}" | hbase shell > hbase_result.txt
echo "get 'table_name','Key_name']}" | hbase shell > hbase_result.text