hive基本操作整理

.hive模糊搜索表

show tables like '*name*'; 2.查看表结构信息 desc formatted table_name; desc table_name; 3.查看分区信息 show partitions table_name; 4.根据分区查询数据 select table_coulm from table_name where partition_name = '2014-02-25'; 5.查看hdfs文件信息 dfs -ls /user/hive/warehouse/table02; 6.从文件加载数据进表(OVERWRITE覆盖,追加不需要OVERWRITE关键字) LOAD DATA LOCAL INPATH 'dim_csl_rule_config.txt' OVERWRITE into table dim.dim_csl_rule_config; --从查询语句给table插入数据 INSERT OVERWRITE TABLE test_h02_click_log PARTITION(dt) select * from stage.s_h02_click_log where dt='2014-01-22' limit 100; 7.导出数据到文件 insert overwrite directory '/tmp/csl_rule_cfg' select a.* from dim.dim_csl_rule_config a; hive -e "select day_id,pv,uv,ip_count,click_next_count,second_bounce_rate,return_visit,pg_type from tmp.tmp_h02_click_log_baitiao_ag_sum where day_id in ('2014-03-06','2014-03-07','2014-03-08','2014-03-09','2014-03-10');"> /home/jrjt/testan/baitiao.dat; 8.自定义udf函数 1.继承UDF类 2.重写evaluate方法 3.把项目打成jar包 4.hive中执行命令add jar /home/jrjt/dwetl/PUB/UDF/udf/GetProperty.jar; 5.创建函数create temporary function get_pro as 'jd.Get_Property'//jd.jd.Get_Property为类路径; 9.查询显示列名 及 行转列显示 set hive.cli.print.header=true; // 打印列名 set hive.cli.print.row.to.vertical=true; // 开启行转列功能, 前提必须开启打印列名功能 set hive.cli.print.row.to.vertical.num=1; // 设置每行显示的列数 10.查看表文件大小,下载文件到某个目录,显示多少行到某个文件 dfs -du hdfs://BJYZH3-HD-JRJT-4137.jd.com:54310/user/jrjt/warehouse/stage.db/s_h02_click_log; dfs -get /user/jrjt/warehouse/ods.db/o_h02_click_log_i_new/dt=2014-01-21/000212_0 /home/jrjt/testan/; head -n 1000 文件名 > 文件名 11.杀死某个任务 不在hive shell中执行 Hadoop job -kill job_201403041453_58315 12.hive-wui路径 http://172.17.41.38/jobtracker.jsp 13.删除分区 alter table tmp_h02_click_log_baitiao drop partition(dt='2014-03-01'); alter table d_h02_click_log_basic_d_fact drop partition(dt='2014-01-17'); 14.hive命令行操作 执行一个查询,在终端上显示mapreduce的进度,执行完毕后,最后把查询结果输出到终端上,接着hive进程退出,不会进入交互模式。 hive -e 'select table_cloum from table' -S,终端上的输出不会有mapreduce的进度,执行完毕,只会把查询结果输出到终端上。这个静音模式很实用,,通过第三方程序调用,第三方程序通过hive的标准输出获取结果集。 hive -S -e 'select table_cloum from table' 执行sql文件 hive -f hive_sql.sql 15.hive上操作hadoop文件基本命令 查看文件大小 dfs -du /user/jrjt/warehouse/tmp.db/tmp_h02_click_log/dt=2014-02-15; 删除文件 dfs -rm /user/jrjt/warehouse/tmp.db/tmp_h02_click_log/dt=2014-02-15; 16.插入数据sql、导出数据sql 1.insert 语法格式为: 基本的插入语法: INSERT OVERWRITE TABLE tablename [PARTITON(partcol1=val1,partclo2=val2)]select_statement FROM from_statement insert overwrite table test_insert select * from test_table; 对多个表进行插入操作: FROM fromstatte INSERT OVERWRITE TABLE tablename1 [PARTITON(partcol1=val1,partclo2=val2)]select_statement1 INSERT OVERWRITE TABLE tablename2 [PARTITON(partcol1=val1,partclo2=val2)]select_statement2 from test_table insert overwrite table test_insert1 select key insert overwrite table test_insert2 select value; insert的时候,from子句即可以放在select 子句后面,也可以放在 insert子句前面。 hive不支持用insert语句一条一条的进行插入操作,也不支持update操作。数据是以load的方式加载到建立好的表中。数据一旦导入就不可以修改。 2.通过查询将数据保存到filesystem INSERT OVERWRITE [LOCAL] DIRECTORY directory SELECT.... FROM ..... 导入数据到本地目录: insert overwrite local directory '/home/zhangxin/hive' select * from test_insert1; 产生的文件会覆盖指定目录中的其他文件,即将目录中已经存在的文件进行删除。 导出数据到HDFS中: insert overwrite directory '/user/zhangxin/export_test' select value from test_table; 同一个查询结果可以同时插入到多个表或者多个目录中: from test_insert1 insert overwrite local directory '/home/zhangxin/hive' select * insert overwrite directory '/user/zhangxin/export_test' select value; 17.mapjoin的使用 应用场景:1.关联操作中有一张表非常小 2.不等值的链接操作 select /*+ mapjoin(A)*/ f.a,f.b from A t join B f on ( f.a=t.a and f.ftime=20110802) 18.perl启动任务 perl /home/jrjt/dwetl/APP/APP/A_H02_CLICK_LOG_CREDIT_USER/bin/a_h02_click_log_credit_user.pl APP_A_H02_CLICK_LOG_CREDIT_USER_20140215.dir >& /home/jrjt/dwetl/LOG/APP/20140306/a_h02_click_log_credit_user.pl.4.log 19.查看perl进程 ps -ef|grep perl 20.hive命令移动表数据到另外一张表目录下并添加分区 dfs -cp /user/jrjt/warehouse/tmp.db/tmp_h02_click_log/dt=2014-02-18 /user/jrjt/warehouse/ods.db/o_h02_click_log/; dfs -cp /user/jrjt/warehouse/tmp.db/tmp_h02_click_log_baitiao/* /user/jrjt/warehouse/dw.db/d_h02_click_log_baitiao_basic_d_fact/;--复制所有分区数据 alter table d_h02_click_log_baitiao_basic_d_fact add partition(dt='2014-03-11') location '/user/jrjt/warehouse/dw.db/d_h02_click_log_baitiao_basic_d_fact/dt=2014-03-11'; 21.导出白条数据 hive -e "select day_id,pv,uv,ip_count,click_next_count,second_bounce_rate,return_visit,pg_type from tmp.tmp_h02_click_log_baitiao_ag_sum where day_id like '2014-03%';"> /home/jrjt/testan/baitiao.xlsx; 22.hive修改表名 ALTER TABLE o_h02_click_log_i RENAME TO o_h02_click_log_i_bk; 23.hive复制表结构 CREATE TABLE d_h02_click_log_baitiao_ag_sum LIKE tmp.tmp_h02_click_log_baitiao_ag_sum; 24.hive官网网址 https://cwiki.apache.org/conflue ... ionandConfiguration http://www.360doc.com/content/12/0111/11/7362_178698714.shtml 25.hive添加字段 alter table tmp_h02_click_log_baitiao_ag_sum add columns(current_session_timelenth_count bigint comment '页面停留总时长'); ALTER TABLE tmp_h02_click_log_baitiao CHANGE current_session_timelenth current_session_timelenth bigint comment '当前会话停留时间'; 26.hive开启简单模式不启用mr set hive.fetch.task.conversion=more; 27.以json格式输出执行语句会读取的input table和input partition信息 Explain dependency query

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Django Scrapy

mysql安装GENERALMyISAMSAFETYDATA STORAGEBINARY LOGGINGREPLICATIONCACHES AND LIMITSINNODBLOGGINGFOR SLA

MYSQL数据库安装文档 本文档是MYSQL-5.6.25在CENTOS 6.5 64位版本上安装的文档,经过测试并没有发现问题。 安装以前先查看服务器里是...

33170
来自专栏乐沙弥的世界

RAC 环境下参数文件(spfile)管理

    RAC环境下,初始化参数文件与但实例下参数文件有些异同,主要表现在初始化参数可以为多个实例公用,也可以单独设置各个实例的初始化参数。对于那些非共用的初始...

12140
来自专栏杨建荣的学习笔记

MySQL断电恢复的一点简单分析

今天有个网友问我一个MySQL的恢复问题。提供的截图如下。 ? 对于这个问题,在一些断电的场景下还是可能出现的。我首先是要确认是否为线上业务还是测试环境...

542100
来自专栏zcqshine's blog

PHP mysqli_multi_query 连续执行的坑

39660
来自专栏大白虾谈架构

mysql 远程连接数据库的二种方法

8K40
来自专栏令仔很忙

SQL To LinQ 你知道么?

 学习linQ的时候,你应该用到过LinQ to SQL 的工具---LinQPad,刚开始用,不太熟悉,尤其是涉及到多表查询,不会写LinQ语句怎么办?

9120
来自专栏杨建荣的学习笔记

外部表简单总结(r3笔记第51天)

对于外部表的使用而言,可能是既陌生又熟悉的感觉,说陌生可能自己真正的使用机会要少一些,而熟悉可能是大家比较常用的通过外部表来查看数据库日志,其实外部表还有更丰富...

294110
来自专栏Danny的专栏

PL/SQL和SQLPLUS查询结果不一样——千万别忘记commit !

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

18320
来自专栏我的博客

ADODB简介以及简单使用

1、adodb数据库类介绍(http://adodb.sourceforge.net/) 虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据...

36870
来自专栏乐沙弥的世界

MySQL 通用查询日志(General Query Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日...

65230

扫码关注云+社区

领取腾讯云代金券