需求

  • remote_addr 用户IP

    1.用于根据地址确认区域

    2.用于统计来自同一个(外网)用户的访问数量
  • time_local 用户访问时间

    1.分析用户访问时间段

    2.合理安排客服上班时间
  • request 用户请求的URL

    1.统计用户最感兴趣的内容

    2.用户最容易发现的区域/内容
  • http_referer 用户跳转过来的网站

    1.了解客户的来源

    2.统计广告投放

一、创建原表

  • 数据存储格式 默认:TEXTFILE
  • 数据压缩 默认:ZLIB
  • map output 数据压缩 none
  • 默认:管理表

创建原表 bf_log_src

drop table if exists default.bf_log_src;
create table if not exists default.bf_log_src(
remote_addr string,
remote_user string,
time_local string,
request string,
status string,
body_bytes_send string,
request_body string,
http_referer string,
http_user_agent string,
http_x_forworded_for string,
host string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES ("input.regex" = "(\"[^ ]*\") (\"[^ ]*\") (\"[^\"]*\") (\"[^\"]*\") (\"[0-9]*\") (\"[0-9]*\") ([^ ]*) (\"[^ ]*\") (\"[^\"]*\") (\"[^ ]*\") (\"[^ ]*\")");

加载数据

load data local inpath '/opt/datas/bf.log' into table bf_log_src;

二、根据业务需求创建子表

  • 数据存储格式 ORCfile | parquet
  • 数据压缩 snappy
  • map output 数据压缩 snappy
  • 外部表
  • 分区表

创建子表 bf_log_comm

drop table if exists default.bf_log_comm;
create EXTERNAL table if not exists default.bf_log_comm(
remote_addr string,
time_local string,
request string,
http_referer string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
stored as orc
location '/user/hive/warehouse/bf_log_comm/'
tblproperties ("orc.compression"="snappy") ;

加载数据

insert into table default.bf_log_comm select remote_addr,time_local,request,http_referer from default.bf_log_src;

三.数据清洗

3.1 删除引号

3.2 更改日期

定义方法参考:Hive 中的 UDF

注意:输入数据类型定义为Text会导致编码错误,改为String即可解决问题

# 添加正则表达式支持包
add jar /opt/softwares/hive-1.2.2/lib/hive-contrib-1.2.2.jar; # 添加 UDF jar 包
add jar /opt/datas/RemoveDoubleQuotationMarks.jar; # 创建临时方法
create temporary function my_rm_marks as "com.cenzhongman.hive.udf.RemoveDoubleQuotationMarks";
create temporary function ChangeDate as "com.cenzhongman.hive.udf.ChangeDate";

替换数据

insert overwrite table default.bf_log_comm select my_rm_marks(remote_addr),ChangeDate(my_rm_marks(time_local)),my_rm_marks(request),my_rm_marks(http_referer) from default.bf_log_src;

四、使用自带函数分析数据

desc function extended substring ;

#分析时间段
select t.hour,count(*) cnt from
(select substring(time_local,9,2) hour from bf_log_comm) t
group by t.hour order by cnt desc; #分析IP地址
select t.pre_ip,count(*) cnt from (select substring(remote_addr,1,7) pre_ip from bf_log_comm) t group by t.pre_ip order by cnt;

Hive 数据实战的更多相关文章

  1. 《OD大数据实战》Hive环境搭建

    一.搭建hadoop环境 <OD大数据实战>hadoop伪分布式环境搭建 二.Hive环境搭建 1. 准备安装文件 下载地址: http://archive.cloudera.com/cd ...

  2. 大数据开发实战:Hive优化实战3-大表join大表优化

    5.大表join大表优化 如果Hive优化实战2中mapjoin中小表dim_seller很大呢?比如超过了1GB大小?这种就是大表join大表的问题.首先引入一个具体的问题场景,然后基于此介绍各自优 ...

  3. 实战 | Hive 数据倾斜问题定位排查及解决

    Hive 数据倾斜怎么发现,怎么定位,怎么解决 多数介绍数据倾斜的文章都是以大篇幅的理论为主,并没有给出具体的数据倾斜案例.当工作中遇到了倾斜问题,这些理论很难直接应用,导致我们面对倾斜时还是不知所措 ...

  4. 从零自学Hadoop(17):Hive数据导入导出,集群数据迁移下

    阅读目录 序 将查询的结果写入文件系统 集群数据迁移一 集群数据迁移二 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephis ...

  5. 《OD大数据实战》驴妈妈旅游网大型离线数据电商分析平台

    一.环境搭建 1. <OD大数据实战>Hadoop伪分布式环境搭建 2. <OD大数据实战>Hive环境搭建 3. <OD大数据实战>Sqoop入门实例 4. &l ...

  6. sqoop用法之mysql与hive数据导入导出

    目录 一. Sqoop介绍 二. Mysql 数据导入到 Hive 三. Hive数据导入到Mysql 四. mysql数据增量导入hive 1. 基于递增列Append导入 1). 创建hive表 ...

  7. 《OD大数据实战》HDFS入门实例

    一.环境搭建 1.  下载安装配置 <OD大数据实战>Hadoop伪分布式环境搭建 2. Hadoop配置信息 1)${HADOOP_HOME}/libexec:存储hadoop的默认环境 ...

  8. php中CURL技术模拟登陆抓取数据实战,抓取某校教务处学生成绩。

    这两天有基友要php中curl抓取教务处成绩的源码,用于微信公众平台的开发.下面笔者只好忍痛割爱了.php中CURL技术模拟登陆抓取数据实战,抓取沈阳工学院教务处学生成绩. 首先,教务处登录需要验证码 ...

  9. 大数据平台Hive数据迁移至阿里云ODPS平台流程与问题记录

    一.背景介绍 最近几天,接到公司的一个将当前大数据平台数据全部迁移到阿里云ODPS平台上的任务.而申请的这个ODPS平台是属于政务内网的,因考虑到安全问题当前的大数据平台与阿里云ODPS的网络是不通的 ...

随机推荐

  1. iDempiere 使用指南 采购入库流程

    Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idemp ...

  2. jquery 滑块导航菜单

    带滑块的导航菜单,鼠标悬浮时,滑块会移动至鼠标位置,离开时,滑块会回到原来的位置,点击菜单之后滑块会停留在被点击菜单位置,等待下一次的鼠标悬浮事件或者点击事件,效果图: 图片效果不行,直接上代码: & ...

  3. SQL Server2005修改计算机名后不能发布订阅

    在一台安装有SQL Server2005的计算机上,更改计算机名后,在发布订阅的时候提示如下错误报告: 由于需要需要配置一个发布订阅,可是一直报告:" sql server 复制需要有实际的 ...

  4. ASP.NET 上传图片到FTP

    目录: 2.代码 3.参考资料 4.IIS环境FTP配置 5.使用虚拟目录注意Server.MapPath() 1. 项目介绍 建立FTP文件服务器与应用程序分开. 下面方法中的参数为Stream因为 ...

  5. 如何将windows日志转成syslog格式并发到远程sysylog服务器

      安装Snare, 随便找了个版本下载下来,安装一路next,除了中间让你输入一次http的管理登录口令.   2,配置 之后打开URL:http://192.168.37.23:6161/,输入默 ...

  6. PHP:substr和mb_substr的区别

    substr和mb_substr函数都是获取字符串中的某个部分 那么,它们的区别在哪儿呢? 区别: substr :全部是英语.数字就正常:但有一些的字元是占用多个位元的,substr()就得不到你预 ...

  7. April 29 2017 Week 17 Saturday

    Every man is a poet when he is in love. 每个恋爱中的人都是诗人. It is said this saying was from Plato, the famo ...

  8. QR分解与最小二乘(转载自AndyJee)

    转载网址:http://www.cnblogs.com/AndyJee/p/3846455.html 主要内容: 1.QR分解定义 2.QR分解求法 3.QR分解与最小二乘 4.Matlab实现 一. ...

  9. mysql全部基本数据类型

    MySQL基本数据类型统计http://www.cnblogs.com/xuqiang/archive/2010/10/14/1953464.html 详细介绍http://www.cnblogs.c ...

  10. G711格式语音采集/编码/转码/解码/播放

    2019-05-01 语音g711格式和AMR格式类似,应用很简单,很多人已经整理过了,收录于此,以备不时之需,用别人现成的足矣,我们的时间应该用来干更有意义的事. 1.PCM to G711 Fas ...