hadoop的Hive实战操作sogou的日志

动手实战操作搜狗日志文件

本节中所用到的内容是来自搜狗实验室,网址为:

http://www.sogou.com/labs/dl/q.html

用户可以根据自己的Spark机器实际的内存配置等情况选择下载不同的数据版本,为了让所有的学习者都可以成功操作日志,我们使用的是迷你版本的tar.gz格式的文件,其大小为384K,下载地址:http://www.sogou.com/labs/resource/q.php

日志格式如下:

单挑记录:

00:00:00 2982199073774412 [360安全卫士] 8 3 download.it.com.cn/softweb/software/firewall/antivirus/20067/17938.html

该文件的格式如下所示:

访问时间\t用户ID\t查询词\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL

在hive中创建表格:

create table sogou(sTime string,userId string,Keyword string,Paiming int,Dianji int,URL string) row format delimited

fields terminated by ‘\t‘ lines terminated by ‘\n‘ stored as textfile

结果如下:

hive> create table sogou(sTime string,userId string,Keyword string,Paiming int,Dianji int,URL string) row format delimited

> fields terminated by ‘\t‘ lines terminated by ‘\n‘ stored as textfile;

OK

Time taken: 4.422 seconds

导入数据:

load data local inpath  ‘/home/dyq/Documents/SogouQ.sample‘ overwrite into table sogou;

结果显示:

hive> load data local inpath  ‘/home/dyq/Documents/SogouQ.sample‘ overwrite into table sogou;

Loading data to table default.sogou

OK

Time taken: 3.567 seconds

查看表的建立情况:

hive> desc sogou;

OK

stime               string

userid               string

keyword             string

paiming             int

dianji               int

url                 string

Time taken: 2.515 seconds, Fetched: 6 row(s)

查看数据导入情况:

查看记录条数:

select count(*) from sogou;

可以看到查询过程很漫长,效率不高的说

hive> select count(*) from sogou;

WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. tez, spark) or using Hive 1.X releases.

Query ID = dyq_20160828114648_be63db30-cce4-47f0-aa1d-2e0f626c274c

Total jobs = 1

Launching Job 1 out of 1

Number of reduce tasks determined at compile time: 1

In order to change the average load for a reducer (in bytes):

set hive.exec.reducers.bytes.per.reducer=<number>

In order to limit the maximum number of reducers:

set hive.exec.reducers.max=<number>

In order to set a constant number of reducers:

set mapreduce.job.reduces=<number>

Starting Job = job_1472347049416_0004, Tracking URL = http://ubuntu:8088/proxy/application_1472347049416_0004/

Kill Command = /opt/hadoop-2.6.2/bin/hadoop job  -kill job_1472347049416_0004

Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1

2016-08-28 11:47:28,067 Stage-1 map = 0%,  reduce = 0%

2016-08-28 11:48:09,628 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 8.1 sec

2016-08-28 11:48:35,383 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 10.68 sec

MapReduce Total cumulative CPU time: 10 seconds 680 msec

Ended Job = job_1472347049416_0004

MapReduce Jobs Launched:

Stage-Stage-1: Map: 1  Reduce: 1   Cumulative CPU: 10.68 sec   HDFS Read: 906303 HDFS Write: 105 SUCCESS

Total MapReduce CPU Time Spent: 10 seconds 680 msec

OK

10000

Time taken: 109.492 seconds, Fetched: 1 row(s)

导出数据到外部文件

insert overwrite local directory ‘/home/dyq/Documents/SogouQdept‘ select a.Keyword,a.URL from sogou a;

只导出2个字段,看看情况

hive> insert overwrite local directory ‘/home/dyq/Documents/SogouQdept‘ select a.Keyword,a.URL from sogou a;

WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. tez, spark) or using Hive 1.X releases.

Query ID = dyq_20160828115140_2bc274b4-7845-46c2-9ac7-e45fcc5b7b23

Total jobs = 1

Launching Job 1 out of 1

Number of reduce tasks is set to 0 since there‘s no reduce operator

Starting Job = job_1472347049416_0005, Tracking URL = http://ubuntu:8088/proxy/application_1472347049416_0005/

Kill Command = /opt/hadoop-2.6.2/bin/hadoop job  -kill job_1472347049416_0005

Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0

2016-08-28 11:51:54,594 Stage-1 map = 0%,  reduce = 0%

2016-08-28 11:52:06,398 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 3.14 sec

MapReduce Total cumulative CPU time: 3 seconds 140 msec

Ended Job = job_1472347049416_0005

Moving data to local directory /home/dyq/Documents/SogouQdept

MapReduce Jobs Launched:

Stage-Stage-1: Map: 1   Cumulative CPU: 3.14 sec   HDFS Read: 901894 HDFS Write: 178503 SUCCESS

Total MapReduce CPU Time Spent: 3 seconds 140 msec

OK

Time taken: 28.859 seconds

查看sogouQdept文件的内容:

时间: 2025-01-14 21:21:18

hadoop的Hive实战操作sogou的日志的相关文章

hadoop中的hive查询cdn访问日志指定时间段内url访问次数最多的前10位(结合python语言)

hadoop环境描述: master节点:node1 slave节点:node2,node3,node4 远端服务器(python连接hive):node29 需求:通过hive查询到cdn日志中指定时间段内url访问次数最多的前10个url ps:用pig查询可以查询文章: http://shineforever.blog.51cto.com/1429204/1571124 说明:python操作远程操作需要使用Thrift接口: hive源码包下面自带Thrift插件: [[email pr

Hue集成Hadoop和Hive

一.环境准备 1.下载Hue:https://dl.dropboxusercontent.com/u/730827/hue/releases/3.12.0/hue-3.12.0.tgz 2.安装依赖 yum groupinstall -y "Development Tools" "Development Libraries" yum install -y apache-maven ant asciidoc cyrus-sasl-devel cyrus-sasl-gs

在HDInsight中开始使用Hadoop与Hive来分析移动手机使用

在HDInsight中开始使用Hadoop与Hive来分析移动手机使用 为了能让你迅速上手使用HDInsight,本教程将向您介绍如何运行一个查询Hive提取的Hadoop集群,从非结构化数据的有意义的信息.然后,你将分析结果在Microsoft Excel中. 注意:如果你是新的Hadoop和大数据,你可以阅读更多有关条款的Apache Hadoop,MapReduce,HDFS和Hive.要了解HDInsight如何使Hadoop的在Azure中,看HDInsight Hadoop的介绍.

Linux系统运维之Hadoop、Hive、Flume数据处理

配置环境 主机名 IP 备注 Hadoop-Data01 192.168.0.194 Hadoop-Master/Hive/Mysql/Flume-Agent Hadoop-Data02 192.168.0.195 Hadoop-Slave 软件版本: CentOS release 6.6 (Final) Hdk-8u131-linux-x64 Hadoop-2.7.3 Hive-2.1.1 Apache-flume-1.7.0-bin 下载JDK.Hadoop.Hive.Flume: [[em

hadoop、hive、hbase的理解

hadoop是一个分布式计算+分布式文件系统,前者其实就是MapReduce,后者是HDFS.后者可以独立运行,前者可以选择性使用,也可以不使用. hive是一个构建在Hadoop基础设施之上的数据仓库. hbase是一种Key/Value系统,它运行在HDFS之上,是一个分布式的.面向列的开源数据库. 特点: hive把数据文件加载进来作为一个hive表(或者外部表),它支持类似sql语句的功能,你可以通过该语句完成分布式环境下的计算功能,hive会把语句转换成MapReduce,然后交给ha

Hadoop自定义类型处理手机上网日志

job提交源码分析 在eclipse中的写的代码如何提交作业到JobTracker中的哪?(1)在eclipse中调用的job.waitForCompletion(true)实际上执行如下方法 connect(); info = jobClient.submitJobInternal(conf); (2)在connect()方法中,实际上创建了一个JobClient对象. 在调用该对象的构造方法时,获得了JobTracker的客户端代理对象JobSubmissionProtocol. JobSu

《Programming Hive》读书笔记(一)Hadoop和hive环境搭建

<Programming Hive>读书笔记(一)Hadoop和Hive环境搭建 先把基本的技术和工具学好,才能更高效地思考和工作. Chapter 1.Introduction 简介 Chapter 2.Getting Started 环境配置 Hadoop版本会更新,以官方安装教程为准 http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#Standalone_O

大数据 hadoop pig hive 关系

初接触hadoop技术的朋友肯定会对它体系下寄生的个个开源项目糊涂了,我敢保证Hive,Pig,HBase这些开源技术会把你搞的有些糊涂,不要紧糊涂的不止你一个,如某个菜鸟的帖子的疑问,when to use Hbase and when to use Hive?....请教了^_^没关系这里我帮大家理清每个技术的原理和思路. Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎自己慢慢退出pig的维护之后将它开源贡献到开源社区由所有爱好者来维护.不

Hadoop 提取KPI 进行海量Web日志分析

Hadoop 提取KPI 进行海量Web日志分析 Web日志包含着网站最重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值等.一般中型的网站(10W的PV以上),每天会产生1G以上Web日志文件.大型或超大型的网站,可能每小时就会产生10G的数据量. Web日志分析概述 需求分析:KPI指标设计 算法模型:Hadoop并行算法 架构设计:日志KPI系统架构 程序开发:MapReduce程序实现 1. Web日志分析概述 Web日志由Web服务器产生,可能是