`
wbj0110
  • 浏览: 1598206 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

hive导入nginx日志

    博客分类:
  • Hive
阅读更多

将nginx日志导入到hive中的方法

1 在hive中建表

 

  1. CREATE TABLE apachelog (ipaddress STRING, identd STRING, user STRING,finishtime STRING,requestline string, returncode INT, size INT,referer string,agent string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe'WITH SERDEPROPERTIES ('serialization.format'='org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol','quote.delim'='("|\\[|\\])','field.delim'=' ','serialization.null.format'='-')STORED AS TEXTFILE; 

 

导入后日志格式为

 

  1. 203.208.60.91   -       -       05/May/2011:01:18:47 +0800      GET /robots.txt HTTP/1.1        404     1238 Mozilla/5.0 

第二种方法导入

 注意:这个方法在建表后,使用查询语句等前要先执行

hive> add jar /home/hjl/hive/lib/hive_contrib.jar;
 

  1. CREATE TABLE log (host STRING,identity STRING,user STRING,time STRING,request 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")STORED AS TEXTFILE; 

导入后的格式 

  1. 203.208.60.91   -       -       [05/May/2011:01:18:47 +0800]    "GET /robots.txt HTTP/1.1"      404     1238 "-"      "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 

如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE  。

导入日志命令

hive>load data local inpath '/home/log/map.gz' overwrite into table log;  

导入日志支持.gz等格式

 参考http://www.johnandcailin.com/blog/cailin/exploring-apache-log-files-using-hive-and-hadoop

 
分享到:
评论

相关推荐

    Flume采集Nginx日志到新版Hive.rar

    最后,启动Flume Agent,开始从Nginx日志文件中收集数据并导入到Hive中。监控Flume的日志,确保数据成功导入且没有错误。 总的来说,这个过程涉及到Flume的配置与使用,Nginx日志解析,Hive的数据模型设计,以及...

    Flume采集Nginx日志到Hive.rar

    Flume采集Nginx日志到Hive的事务表时需要导入到Flume下的Jar文件,具体使用方式可参见博文:https://blog.csdn.net/l1028386804/article/details/97975539

    大数据离线分析项目(Hadoop).docx

    JsSDK 用于捕获前端页面数据,JavaSDK 用于后台服务日志生成与发送工具,Nginx 用于生成日志文件,Flume 用于上传日志文件到文件存储系统中,HBase 用于存储解析后的数据,Hive 用于对日志文件进行清洗、分析和提取...

    大数据离线分析项目(Hadoop).pdf

    该项目是关于大数据离线分析的,使用了Hadoop生态系统中的多个组件,如HDFS、MapReduce、HBase和Hive,以及Nginx、Flume、Shell脚本、Java SDK和SpringMVC等技术。主要目标是收集和分析用户在网站上的行为数据,以...

    大数据离线分析项目(Hadoop) (2).pdf

    - 通过Nginx服务器生成日志文件,收集前端发送的行为数据。 - 利用Shell脚本和Flume将日志文件上传到文件存储系统(通常是HDFS)。 - 使用MapReduce作业对日志文件进行清洗,去除脏数据和不必要的字段。 - 清洗...

    2019年JAVA软件开发工程师简历模板.docx

    + 使用 Sqoop 将数据导入到 Hive 中 + 使用 Hive SQL 进行数据分析 + 使用 Spark Streaming 对用户积分进行实时计算 * 中搜云商城大数据推荐系统项目 + 使用 Nginx 集群收集用户的行为事件 + 使用 Kafka 消息...

    个人使用大数据开发-计算机专业简历.doc

    - **具体内容**:熟悉使用Sqoop在MySQL和Hive之间进行数据的导入与导出。 - **应用场景**:适用于不同数据源之间的数据迁移任务。 10. **Oozie/Azkaban任务调度**: - **掌握情况**:熟悉 - **具体内容**:熟悉...

    大数据课程分类.docx

    - **Sqoop**:学习数据迁移工具,用于在Hadoop和传统RDBMS之间导入导出数据。 **大数据架构设计阶段** - **Flume分布式**:了解数据收集工具Flume,如何处理日志和流数据。 - **Zookeeper**:学习分布式协调服务,...

Global site tag (gtag.js) - Google Analytics