当前位置: 首页 > article >正文

shell中执行hive指令以及hive中执行shell和hdfs指令语法

0. 简介

主要介绍了三种环境命令执行语法:

  1. shell中执行hive指令
  2. hive中执行shell指令
  3. hive中执行hdfs指令

1. shell中执行hive指令

语法:hive [-hiveconf x=y]* [<-i filename>]* [<-f filename> | <-e query-string>] [-S]
说明:

  1. -i 从文件初始化HQL。执行sql文件并留在hive交互窗口;hive -i sql_string.hql
    我们先创建一个sql_string.hql文件:vim sql_string.sql
    i切换到输入模式,输入如下sql,再按esc,输入:wq回车保存脚本文件;
    在这里插入图片描述
    然后再执行hive -i指令
    在这里插入图片描述
    输出后,停留再hive交互窗口

  2. -e从命令行执行指定的HQL;
    比如执行一条hive执行并将输出的数据重定向到当前工作目录:hive -e "use mydb;select appid,game_type from dim_game_info limit 10" > game_info.txt;当然也可以把hive参数设置语句配里边,多条语句英文分号分隔即可:hive -e "set mapred.reduce.tasks=10;select appid,game_type from mydb.dim_game_info limit 10;"参数配置只对该会话生效;

  3. -f 执行HQL脚本:hive -f sql_string.hql;这个sql_string.hql是一个包含hive命令的文本文件,案例类同hive -i指令。

  4. -v 输出执行的HQL语句到控制台

  5. -p connect to Hive Server on port number

  6. -hiveconf x=y Use this to set hive/hadoop configuration variables.可用来配置一些hive参数,比如:hive -hiveconf mapred.reduce.tasks=10;设置reduce个数为10个;

  7. -S 设置静默状态,不输出ok等消息;

2. hive中执行shell指令

只需要在指令最前方加上!号再以;结尾即可

比如查看/usr/local/hive/hive_data目录下的文件:!ls /usr/local/hive/hive_data;
在这里插入图片描述清除窗口内容指令:!clear;

查看文本文件前两行:!head /usr/local/hive/hive_data/target_game.txt -n2;
在这里插入图片描述
需要注意的是,以下两类不可行:

  1. 重定向,比如(前两行保存到test.txt文件中):!head /usr/local/hive/hive_data/target_game.txt -n2 > test.txt
  2. 管道用法(查看前两行):!cat /usr/local/hive/hive_data/target_game.txt | head -n2

3. hive中执行hdfs指令

在Hive窗口中执行hdfs命令。直接Hadoop命令中的关键字“hadoop”去掉,指令以dfs开头,以分号;结尾即可,例如,

查看HDFS目录下的文件情况:dfs -ls /user/hive/warehouse/mydb.db/;

复制文件到本地系统:
!pwd;查看工作目录

在这里插入图片描述
复制到工作目录下:
dfs -get /user/hive/warehouse/mydb.db/ads_mg_core_target_value ./hive_data/target_name_get.txt;

再查看本地系统目录下的文件:!ls ./hive_data;出现了命名为target_name_get.txt的本地文件

在这里插入图片描述

更多hdfs命令:点我查看常用hdfs指令


http://www.kler.cn/a/386635.html

相关文章:

  • Python入门(4)--流程控制(下)
  • BILSTM法律网站用户提问自动分类
  • 67页PDF |埃森哲_XX集团信息发展规划IT治理优化方案(限免下载)
  • datastage在升级版本到11.7之后,部分在11.3上正常执行的SP报错SQLSTATE = 22007: 本机错误代码 = -180
  • 【常见问题解答】远程桌面无法复制粘贴的解决方法
  • CTF攻防世界小白刷题自学笔记13
  • 安卓逆向之socket抓包
  • 系统架构设计师论文:单元测试方法及其运用
  • 算法每日双题精讲——双指针(有效三角形的个数,和为s的俩个数)
  • Java-字符串常量池
  • WPF之iconfont(字体图标)使用
  • 【网络】完美配置 HTTPS:优化 SSL/TLS 证书以增强网站安全和性能
  • 山东布谷科技:关于直播源码|语音源码|一对一直播源码提交App Store的流程及重构建议
  • 证件照尺寸168宽240高,如何手机自拍更换蓝底
  • Spring 事务@Transactional
  • 神秘的LLVM,熟悉的GNU
  • Conda 使用指南:高效的包管理和环境管理工具
  • 机器学习与成像技术
  • sql单表查询练习题
  • windows C#-使用异常
  • GitLab 提交 C++ 技巧
  • srs http-flv处理过程
  • C/C++语言基础--C++模板与元编程系列四(类型模板参数、整数、指针 、模板类型)
  • 解题--多数元素
  • Oracle RAC的thread
  • unity实习生面试