Hive(九)之总结

  • 查看namenode活跃状态:
$ bin/hdfs haadmin -getServiceState nn1
$ bin/hdfs haadmin -getServiceState nn2
  • 查看resourcemanager的活跃状态
$ bin/yarn rmadmin -getServiceState rm1
$ bin/yarn rmadmin -getServiceState rm2

01. Hive创建表的方式

  1. 使用create命令创建一个新表
create table if not exists db_web_data.track_log(字段)
partitioned by (date string,hour string)
row format delimited fields terminated by '\t';
  1. 把一张表的某些字段抽取出来,创建成一张新表
create table backup_track_log as select * from db_web_data.track_log;

尖叫提示:会复制属性以及属性值到新的表中

  1. 复制表结构
create table like_track_log like db_web_data.track_log;

尖叫提示:不会复制属性值,只会复制表结构

02. Hive表导入数据方式

  1. 本地导入
load data local inpath 'local_path/file' into table 表名称 ;
  1. HDFS导入
load data inpath 'hdfs_path/file' into table 表名称 ;
  1. 覆盖导入
load data local inpath 'path/file' overwrite into table 表名称 ;
load data inpath 'path/file' overwrite into table 表名称 ;
  1. 查询导入
create table track_log_bak as select * from db_web_data.track_log;
  1. insert导入
    1. 追加-append-默认方式
      insert into table 表名 select * from track_log;
      
    2. 覆盖-overwrite-显示指定-使用频率高
       insert overwrite table 表名 select * from track_log;
      

03. Hive表导出数据方式

  1. 本地导出
insert overwrite local directory "/home/admin/Desktop/1/2" row format delimited fields terminated by '\t' select * from db_hive_demo.emp ;

尖叫提示:会递归创建目录

  1. HDFS导出
insert overwrite diretory "path/" select * from staff;
  1. Bash shell覆盖追加导出
$ bin/hive -e "select * from staff;"  > /home/z/backup.log
  1. Sqoop

04. Hive数据清洗之思路

  • 需求:实现按照省份和日期统计PV和UV
SELECT date, provinceId, count(url) pv, count(distinct guid) uv from track_log group by date, provinceId;
        见代码

05. Hive自动化处理日志

  • 需求:网站产生的日志会按照某个日期分类的文件夹存储,定期分析该日志,产出结果
    /opt/modules/weblog
    • -20170724(文件夹)
      • -2017072418(日志文件)
      • -2017072419
    • -20170725
      • -2017072518(日志文件)
      • -2017072619

06. Hive中的几种排序

  1. order by:全局排序,就一个Reduce
  2. sort by:相当于对每一个Reduce内部的数据进行排序,不是全局排序。
  3. distribute by :类似于MRpartition, 进行分区,一般要结合sort by使用。
  4. cluster by: 当distribute和sort字段相同时,就是cluster by

你可能感兴趣的:(Hive(九)之总结)