`

用hive+hdfs+sqoop分析日志的步骤

 
阅读更多

现在的部分工作是进行日志分析,由于每天的日志压缩前80多G左右,用lzop压缩后10G左右,如果用shell直接进行统计,需要花费很长时间才能完成,而且还需要用java函数对request url进行转换,于是采用hive+hdfs+sqoop方案进行日志统计分析

hadoop+hive+hdfs+sqoop的架构就不详细说了,可以直接用cloudera的repo直接安装

日志分析步骤

一 下载服务器中的日志,因为应用服务使用了多台服务器,所以需要对日志进行合并整理,然后用lzop进行压缩

二 在hive中创建表

  1. hive>CREATE TABLE maptile (ipaddress STRING,identity STRING,user STRING,time STRING,method STRING,request STRING,protocol STRING,status STRING,size STRING,referer STRING,agent STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' WITH SERDEPROPERTIES ("input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) (\"[^ ]*) ([^ ]*) ([^ ]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\".*\") ([^ \"]*|\".*\"))?","output.format.string" = "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s %10$s %11$s")STORED AS TEXTFILE;
hive>CREATE TABLE maptile (ipaddress STRING,identity STRING,user STRING,time STRING,method STRING,request STRING,protocol STRING,status STRING,size STRING,referer STRING,agent STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' WITH SERDEPROPERTIES ("input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) (\"[^ ]*) ([^ ]*) ([^ ]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\".*\") ([^ \"]*|\".*\"))?","output.format.string" = "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s %10$s %11$s")STORED AS TEXTFILE;

三 导入日志数据

  1. hive>load data local inpath '/home/log/1.lzo' overwrite into table maptile;
hive>load data local inpath '/home/log/1.lzo' overwrite into table maptile;

四 在hive中创建日志统计后结果表

  1. hive>create table result (ip string,num int) partitioned by (dt string);
hive>create table result (ip string,num int) partitioned by (dt string);

五 统计日志并将统计结果插入到新表中

  1. hive>insert overwrite table result partition (dt='2011-09-22') select ipaddress,count(1) as numrequest from maptile group by ipaddress sort by numrequest desc;
hive>insert overwrite table result partition (dt='2011-09-22') select ipaddress,count(1) as numrequest from maptile group by ipaddress sort by numrequest desc;

六 将统计结果导出到mysql中

  1. sqoop export --connect jdbc:mysql://localhost:3306/result --username root --password admin --table ip_info --export-dir /user/hive/warehouse/result/dt=2011-09-22 --input-fields-terminated-by '\001'
sqoop export --connect jdbc:mysql://localhost:3306/result --username root --password admin --table ip_info --export-dir /user/hive/warehouse/result/dt=2011-09-22 --input-fields-terminated-by '\001'


以上步骤可以写入到shell script中设置定时任务自动完成

分享到:
评论

相关推荐

    mapreduce方式入库hbase hive hdfs

    mapreduce方式入库hbase hive hdfs,速度很快,里面详细讲述了代码的编写过程,值得下载

    Hadoop+Hive+Spark+Kafka+Zookeeper+Flume+Sqoop+Azkaban+Scala

    分布式文件存储系统:HDFS 分布式计算框架:MapReduce 集群资源管理器:YARN 单机伪集群环境搭建 集群环境搭建 常用 Shell 命令 Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 二、Hive 简介及核心概念 ...

    2、sqoop导入(RMDB-mysql、sybase到HDFS-hive)

    2、sqoop导入(RMDB-mysql、sybase到HDFS-hive) 网址:https://blog.csdn.net/chenwewi520feng/article/details/130572275 介绍sqoop从关系型数据库mysql、sybase同步到hdfs、hive中

    实战Sqoop数据导入及大数据用户行为案例分析

    实战Sqoop数据导入及大数据用户行为案例分析(全套视频+代码+工具+课件讲义) 内容包括: 01_CDH版本框架的介绍 02_CDH版本框架的环境部署 03_Sqoop的介绍及其实现原理 ...12_案例分析-指标分析使用Sqoop导出

    Oracle与HDFS的桥梁_Sqoop

    Sqoop链接oracle、hive和hadoopHDFS的好资料,亲自整理。学习所得。

    Hive数据仓库之垃圾分类数据分析系统

    主要功能和技术说明如下: (1)Flume数据采集,HDFS数据储存 (2)hive数据仓库分层设计,包含ODS、DWD、ADS层 ...(6)基于Cenots7 搭建虚拟机,配置Hadoop、HDFS、Hive、sqoop、flume、mysql等大数据组件。

    大数据开发中的Sqoop学习笔记(自己整理版).pdf

    Sqoop安装步骤;Sqoop测试使用;import 相关命令的操作;创建数据表,并导入数据; 展示数据库sqoop中所有表;将MySQL数据导入到hdfs(全部导入和部分导入相关操作); 将MySQL数据导入到Hive;增量导入数据(包括:...

    Hive 0.12.0安装文档.wps

    Hive 0.12.0安装文档.wps HIVE进行数据计算到HDFS,通过sqoop导入到ORACLE数据库!

    【63课时完整版】大数据实践HIVE详解及实战

    36.案例分析-指标分析使用Sqoop导出 第4章:Hive复杂用户行为案例分析及优化 37.自动批量加载数据到hive 38.Hive表批量加载数据的脚本实现(一) 39.Hive表批量加载数据的脚本实现(二) 40.HIve中的case when、...

    全分布式集群Hadoop全套组件解压即可使用包含(Ubuntu-HDFS-HBASE-HIve-Sqoop-mysql....)

    1.集群配置,包含三个结点,主节点控制所有的子节点 2.集群已经搭建好了,解压之后...3.包含全套组件:hdfs,hbase,hive,sqoop,mysql,pig,spark等大数据组件 4.如果不知道如何使用,或者需要做Hadoop项目可以私信博主

    hadoop搭建 zookeeper_hbase_hive_sqoop_mysql_spark_hdfs.doc

    hadoop环境搭建,涉及zookeeper、hbase、hive、mysql、kafka等服务的搭建测试运用。

    sqoop 1.99.1 for hadoop200.tar.gz

    Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,...

    Hive数据仓库之电商用户数据分析系统

    (6)基于Cenots7 搭建虚拟机,配置Hadoop、HDFS、Hive、sqoop、flume、mysql等大数据组件。 (7)代码简单易懂,包含一定的注释。 (8)数据来源为淘宝平台发布的公开数据,数据字段包括用户id、年龄、性别、商品id...

    大数据-sqoop.pptx

    从 Hive 或 HBase 将数据提取至 HDFS (作为文本或 Avro 文件) 使用 Sqoop 将上一步的输出导出至 RDBMS 不支持按照与 Sqoop 1 相同的解决方法操作 大数据-sqoop全文共16页,当前为第5页。 Sqoop的用途 Sqoop可以在...

    Hadoop-Sqoop-Oracle:使用Sqoop在Oracle数据库和HDFS之间进行导入和导出

    使用Sqoop在Oracle数据库和HDFS之间进行导入和导出 内容 使用 操作系统-Ubuntu 20.04.1 LTS(VMware) 后端-Java (JDK 1.8), Sqoop(v1.4.7) , Hadoop(v3.3.0) 库-OJDBC(v7),commons-lang-2.6.jar ...

    sqoop安装详解以及sqoop介绍

    sqoop安装详解以及sqoop内容介绍使用介绍 集群介绍 sqoop:是一个工具,主要用于导入导出,实现MySQL到Hadoop之间数据的转换 2、导入数据:从结构化数据(Mysql,oracle,db2,)导入到半结构化或非结构化hadoop中...

    sqoop_export.zip

    Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,...

    sqoop-spark-hive:MYSQL | SQOOP | 火花| HIVE工作流程

    mysql,sqoop,spark,hive工作流管道它将通过两个表order和order_items产生每日收入Sqoop 以“ parquet”格式将订单和order_items数据从mysql导入到hdfs 在这里,我们正在创建sqoop作业以用于增量数据导入命令订单...

    3、Sqoop导出(HDFS到RMDB-mysql)

    3、Sqoop导出(HDFS到RMDB-mysql) 网址:https://blog.csdn.net/chenwewi520feng/article/details/130573318 介绍通过sqoop将hdfs数据同步到关系型数据库mysql中

Global site tag (gtag.js) - Google Analytics