`

用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中设置定时任务自动完成

分享到:
评论

相关推荐

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

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

    基于Sqoop+Hive+Spark+MySQL+AirFlow+Grafana的工业大数据离线数仓项目

    在大数据项目中,AirFlow能确保数据从收集到分析的整个流程自动化、有条不紊地运行,例如设置定时任务从MySQL抽取数据,用Sqoop导入HDFS,然后启动Hive和Spark作业进行分析。 最后,Grafana是一个强大的可视化工具...

    分布式数据库课程设计+基于Hbase的滴滴出行数据分析+Hive+Hadoop+Mysql+Sqoop+可视化

    使用 Sqoop 将 Hive 中处理后的数据导出到 MySQL 数据库,这样可以将大数据分析的结果与传统的业务系统结合,方便进行报表展示和业务决策。 4. 数据可视化展示 最后,通过 Python 编程实现对 MySQL 中数据的可视化...

    mapreduce方式入库hbase hive hdfs

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

    Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+ES+Redash等详细安装部署

    Oozie是Hadoop的工作流调度器,用于管理Hadoop作业(包括MapReduce、Pig、Hive、Sqoop等)和Spark作业的调度。配置Oozie时,需要设置Hadoop和Spark的相关路径,并创建Oozie数据库。 Kafka是一个分布式流处理平台,...

    第15章-Sqoop+Hive+Hbase+Kettle+R某技术论坛日志分析项目案例.docx

    ### 第15章-Sqoop+Hive+Hbase+Kettle+R某技术论坛日志分析项目案例 #### 案例概述 本案例详细介绍了如何利用一系列大数据处理工具,包括Sqoop、Hive、Hbase、Kettle以及R语言,对一个技术论坛的日志数据进行分析的...

    大数据环境包含hadoop+hive+sqoop数据迁移+azkaban任务调度

    2. Hive:Hive是建立在Hadoop之上的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)语言对存储在Hadoop上的结构化和半结构化数据进行查询、分析和处理。Hive将SQL语句转换为MapReduce任务执行,简化了...

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

    在本主题中,我们将深入探讨 Sqoop 的导入功能,特别是如何将数据从 MySQL 和 Sybase 数据库导入到 HDFS,并进一步加载到 Hive 表中。 ### 一、Sqoop 导入介绍 1. **语法结构**: Sqoop 导入数据的基本语法如下:...

    hive2.1.1_mysql_sqoop.zip

    然后,你可以使用Sqoop命令行工具,结合Hive的HQL,实现从MySQL数据库到HDFS的数据迁移,或者反过来,将处理过的数据写回到MySQL。这整个过程简化了大数据处理的流程,使得数据的导入导出变得更加高效和便捷。 总结...

    一个简单的Hive项目,使用了Sqoop、Hadoop、Hive、MySQL,对电商数据进行分析-BI_project.zip

    该项目是一个综合性的大数据分析实践,主要利用Hadoop生态系统中的组件,包括Sqoop、Hadoop、Hive以及MySQL,对电商数据进行深入分析。这个过程涵盖了数据的导入、存储、处理和查询等多个环节,展示了大数据技术在...

    Sqoop安装与使用

    在将 mysql 数据库中的表导入到 HDFS 中时,需要启动 hadoop,登录 mysql 数据库,查看 hive 数据库中有哪些表,然后使用 sqoop 命令将 hive 数据库中的表导入到 HDFS 中。最后,查看是否导入 HDFS 中。 Sqoop ...

    Hadoop Core(MapReduce + YARN + HDFS)_

    Hive将SQL查询转化为一系列MapReduce任务,简化了大数据的分析工作,尤其适合离线数据分析。 **Spark**是快速、通用的大数据处理引擎,它在内存计算方面有显著优势,可以大幅提升数据处理速度。Spark不仅支持批处理...

    hadoop安装文件.rar,内涵hadoop安装的步骤word,hadoop、hive、hbase、sqoop、mysql等

    本压缩包"hadop安装文件.rar"提供了关于Hadoop及其相关组件(如Hive、HBase、Sqoop和MySQL)的安装步骤,这对于初学者和系统管理员来说是一份宝贵的资源。 首先,我们来详细了解一下Hadoop。Hadoop由Apache软件基金...

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

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

    Sqoop-sqlserver-hdfs.rar

    在导入过程中,Sqoop可以自动检测表结构,将列映射到HDFS文件的字段,并且可以选择不同的导入模式,如完全导入、增量导入或导出数据到Hive、HBase等其他Hadoop组件。通过这种方式,你可以方便地在SQL Server和Hadoop...

    hadoop软件1,和hive_3,sqoop_2搭配使用

    例如,我们可以先使用Sqoop将关系数据库中的数据导入到Hadoop的HDFS中,然后通过Hive对这些数据进行清洗、转换和分析。分析完成后,如果需要将结果数据返回到数据库,同样可以利用Sqoop完成导出操作。这种组合应用...

    大数据离线分析系统,基于hadoop的hive以及sqoop的安装和配置

    通过以上步骤,我们可以构建一个功能完备的大数据离线分析平台,利用Hadoop处理大规模数据,用Hive进行结构化查询,而 Sqoop 则作为数据交换的桥梁。这个系统的搭建和配置是大数据工程师必备的技能之一,对于理解...

    sqoop学习资源

    Sqoop 可以与 Hive、HBase、Pig 等组件无缝集成,进一步增强大数据处理能力。 9. **Sqoop 导入导出模式** - **批处理**:一次性导入整个表或查询结果。 - **连续导入**:监控数据库的变更,并仅导入新数据或已...

    Oracle与HDFS的桥梁_Sqoop

    Sqoop 是一个强大的工具,它在大数据领域中起到了桥梁的作用,允许用户在关系型数据库(如 Oracle)和 Hadoop 分布式...通过熟练掌握 Sqoop 的使用,用户可以高效地管理、导入和导出大规模数据,提升数据分析的效率。

    伪分布模式hadoop软件1,和hive_3,sqoop_2搭配使用

    - 使用Sqoop导入和导出数据,例如:`sqoop import --connect <jdbc-url> --username <user> --password <pass> --table <table-name> --target-dir <hdfs-path>`。 通过这样的配置,你可以在本地环境中模拟一个...

Global site tag (gtag.js) - Google Analytics