原文地址:http://www.aboutyun.com/forum.PHP?mod=viewthread&tid=8590&highlight=Hive

问题导读:
1.如何查看hive表结构?
2.如何查看表结构信息?
3.如何查看分区信息?
4.哪个命令可以模糊搜索表?

1.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

转载于:https://www.cnblogs.com/davidwang456/p/7059385.html

hive表信息查询:查看表结构、表操作等--转相关推荐

  1. hive SQL 创建数据库,创建hive表、查询时,其表名,字段,统统不区分大写(在底层一律转换为小写)

    hive SQL 创建数据库,创建hive表.查询时,其表名,字段,统统不区分大写(在底层一律转换为小写) (1).默认default数据库 hive默认自带一个名为default的数据库,如果建表时 ...

  2. 对Excel表的查询、插入和更新操作

    为什么80%的码农都做不了架构师?>>>    本代码主要实现对Excel表的查询.插入和更新操作,而特别指出:Excel表的删除语句操作不支持,只能用更新来替代. using Un ...

  3. mysql教程详解之多表联合查询,MYSQL教程mysql多表联合查询返回一张表的内容实现代码...

    搜索热词 <MysqL教程MysqL多表联合查询返回一张表的内容实现代码>要点: 本文介绍了MysqL教程MysqL多表联合查询返回一张表的内容实现代码,希望对您有用.如果有疑问,可以联系 ...

  4. hive表信息查询:查看表结构、表操作、建表语句

    问题导读: 1.如何查看hive表结构? 2.如何查看表结构信息? 3.如何查看分区信息? 4.哪个命令可以模糊搜索表 28.怎么查询创建表语句 1.hive模糊搜索表 show tables lik ...

  5. hive表信息查询:查看表结构、表操作等

    转自:http://www.aboutyun.com/forum.php?mod=viewthread&tid=8590&highlight=hive 问题导读: 1.如何查看hive ...

  6. hive表信息查询:查看表结构、表操作等(转)

    转自:http://www.aboutyun.com/forum.php?mod=viewthread&tid=8590&highlight=hive 问题导读: 1.如何查看hive ...

  7. hive表信息查询、查看表结构、表操作等

    转载:http://blog.csdn.net/lskyne/article/details/38427895 问题导读: 1.如何查看hive表结构? 2.如何查看表结构信息? 3.如何查看分区信息 ...

  8. cmd查看mysql数据库表_cmd中查看MySQL数据库表数据及结构

    0. 1 .cmd进入mysql安装的bin目录(C:\Program Files\XXXXXX\MySQL Server 5.6\bin) mysql -hlocalhost -uroot -p 回 ...

  9. mysql数据库中插入表信息_mysql数据库中插入表

    通过binlog恢复mysql数据库 在上一篇文章,我们讲解了有关mysql的binlog日志的基础知识.这篇文章,我们来讲解如何通过mysql的binlog日志来恢复数据库. 在使用binlog日志 ...

最新文章

  1. 小猿圈Linux学习-Linux种搜索的命令
  2. 软件评测-信息安全-应用安全-资源控制-用户登录限制(中)
  3. 自学python能干些什么副业好-python可以作为副业赚钱嘛?
  4. 白话算法(6) 散列表(Hash Table)从理论到实用(中)
  5. 用elemet-ui组件实现弹窗里的树形结构和拖拽功能
  6. C++数据结构与算法 动态规划
  7. 读书笔记-简单叙述对象关系
  8. [转载] python中chr和str,以及ordint
  9. python字符串_Python字符串三种格式化输出
  10. 推荐系统中所需的概率论与数理统计知识
  11. Hibernate不能自动建表解决办法【转载】
  12. html与js简单小游戏,使用js写了一个特别简单的小游戏
  13. python读取并显示图片
  14. C64x的软件优化方法
  15. python算法爬楼梯
  16. 易到用车最艰难时刻,未来赌什么?
  17. 计算机内存卡插哪里,电脑内存卡在哪个位置
  18. 计算机屏幕尺寸不是全屏,电脑屏幕有黑边撑不满怎么办_电脑屏幕不能全屏显示的解决方法...
  19. 如何干净彻底的卸载SQL server2008
  20. 洛谷 4830 Tomoya loves Nagisa

热门文章

  1. android layout 工具栏,没有工具栏的Android CollapsingToolbarLayout在某个点停止而不是完全关闭...
  2. ept技术_EPT技术在压载水处理中的运用
  3. python 设计 实践_Python程序设计实践教程
  4. Java:多态的概念和案例实现
  5. Android自定义View实践 空气质量检测 pm2.5
  6. java json 教程,【简明教程】JSON
  7. Leetcode 45. 跳跃游戏 II (每日一题 20210922)
  8. Data Mining 论文翻译:Deep Learning for Spatio-Temporal Data Mining: A Survey
  9. 文巾解题 1833. 雪糕的最大数量
  10. 软件使用: word