暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hive客户端执行sql获取指定字段的值

趣说大数据 2021-03-18
1092
目的:
通过Hive客户端命令执行SQL获取表中指定字段的值。
在客户端执行的SQL如下:
select max(d_Date) from student4;
  • 将输出信息追加到黑洞>>/dev/null

 beeline -u jdbc:hive2://bigdata01:10000 -n hive -e "select max(d_Date) as max_date from student4;" 2>>/dev/null 
输出信息如下:
+-------------+
| max_date |
+-------------+
| 2020-09-03 |
+-------------+
  • 通过Shell grep 命令反向过滤,筛选出不包含的行

beeline -u jdbc:hive2://bigdata01:10000 -n hive -e "select max(d_Date) as max_date from student4;" 2>>/dev/null | grep -v "max_date" 
输出结果如下:
+-------------+
+-------------+
| 2020-09-03 |
+-------------+
  • 通过shell 命令awk 按照 | 进行切割获取 第2列

beeline -u jdbc:hive2://bigdata01:10000 -n hive -e "select max(d_Date) as max_date from student4;" 2>>/dev/null | grep -v "max_date" |
awk -F "|" '{print $2}'
输出结果如下:
 2020-09-03  
  • 通过shell的变量接收返回的值

max_date=$(beeline -u jdbc:hive2://bigdata01:10000 -n hive -e "select max(d_Date) as max_date from student4;" 2>>/dev/null | grep -v "max_date" |
awk -F "|" '{print $2}')
echo $max_date
输出结果如下:
2020-09-03
在shell 脚本中的使用方式如下:
#!/bin/bash
max_date=$(beeline -u jdbc:hive2://bigdata01:10000 -n hive -e "select max(d_Date) as max_date from student4;" 2>>/dev/null | grep -v "max_date" |
awk -F "|" '{print $2}')
echo $max_date


在其它查询客户端中也可以通过这种方式获取指定字段的值,如MySQL:
max_d_date=$(mysql -h"xx.xx.xx.xx" -uroot -p'xxxx' -e "select max(d_date) as max_d_date from student4" | grep -v "max_d_date" | awk -F "|" '{print $2}')
echo $max_d_date


文章转载自趣说大数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论