好文档 - 专业文书写作范文服务资料分享网站

先电大数据平台操作手册-iandian-bigdata-v2.1

天下 分享 时间: 加入收藏 我要投稿 点赞

作。

删除函数

注销用户定义函数的格式如下:

hive> drop temporary function function_na

6.2 运行案例

6.2.1 学生数据分析之人数统计

某高校开设了体育选修课,可供选修的科目有羽毛球、篮球、足球、体操、游泳、乒乓球、跆拳道、网球、排球等。现需要统计学校学生报名各个科目的人数,从而分配相应的教学老师。学生包名数据在文件中。现在我们通过Hive的MapReduce程序来进行计算。计算过程如下:

首先我们需要在Hive中创建数据表,表名称为phy_opt_course,数据表结构如下: stname(string) stID(int) class(string) opt_cour(string) 进入Hive,通过CREATE语法来进行创建,并指定字段分隔符为“\\t”,换行符为“\\n”,并以“TEXTFILE”的形式进行存储。

hive> CREATE TABLE phy_opt_course

> (stname STRING,stID INT,class STRING,opt_cour STRING) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\\t' > LINES TERMINATED BY '\\n' > STORED AS TEXTFILE;

接下来将中的数据导入到Hive的phy_opt_course表中

hive> load data local inpath '/root/' into table phy_opt_course; 查看表中数据。

hive> select * from phy_opt_course;

通过Group By语法来统计各个科目的数据。并将统计的数据导入到phy_opt_count中。

在导入之前,我们需要创建一个phy_opt_count的数据表结构,并指定字段分隔符为“\\t”,换行符为“\\n”,并以“TEXTFILE”的形式进行存储。

hive> CREATE TABLE phy_opt_count > (opt_cour STRING,cour_count Int) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\\t' > LINES TERMINATED BY '\\n' > STORED AS TEXTFILE; 导入数据。

hive> INSERT OVERWRITE TABLE phy_opt_count > SELECT ,COUNT(DISTINCT > FROM phy_opt_course > GROUP BY ; 通过SELECT语句查询数据

hive> SELECT * FROM phy_opt_count;

6.2.2 管理HDFS中的网络日志数据

某企业的WEB服务器中有一些日志访问数据,现需要使用Hive数据仓库统计日志数据中的IP地址所对应的国家,并且需要将访问日期和访问时间进行合并。

首先我们需要在Hive中创建数据表,表名称为weblog_entries,数据表结构如下: md5(STRING) url(STRING) request_date request_time (STRING) ip(STRING) (STRING) 进入Hive,通过CREATE语法来进行创建,使用关键字EXTERNAL定义该表为外部表,在HDFS文件系统中的位置为/data/hive/weblog/,并指定字段分隔符为“\\t”,换行符为“\\n”,

hive> DROP TABLE IF EXISTS weblog_entries; OK

Time taken: seconds

hive> CREATE EXTERNAL TABLE weblog_entries ( > md5 STRING, > url STRING,

> request_date STRING, > request_time STRING, > ip STRING > )

> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\\t' > LINES TERMINATED BY '\\n' > LOCATION '/data/hive/weblog/'; OK

Time taken: seconds

接下来将中的数据导入到Hive的weblog_entries表中

hive> load data local inpath '/root/tmp/' into table weblog_entries; Loading data to table

Table stats: [numFiles=1, numRows=0, totalSize=251130, rawDataSize=0] OK

Time taken: seconds 查看表中数据。

hive> select * from weblog_entries;

下面是样例输出,这里只包含两行实例,完整输出一共包含3000行。

1c13c719fbfd87f49522f189413c6ba / 2012-05-10 21:17:32 / 2012-05-10 21:12:04 导入成功后,需要把weblog_entries中分开的request_date和request_time字段进行合并,在命令行输出单独的一列,并以一个下划线“_”进行分割。

hive > SELECT concat_ws('_', request_date, request_time)

> FROM weblog_entries;

下面是样例输出,这里只包含两行实例,完整输出一共包含3000行。 2012-05-10_21:33:26 2012-05-10_21:13:10

下面将日志数据中的IP字段与IP对应的国家进行简单的内链接。首先需要创建一个ip_to_country表格,里面包含

hive> CREATE TABLE ip_to_country ( > ip STRING, > country string > )

> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\\t' > LINES TERMINATED BY '\\n'

> LOCATION '/data/hive/ip_to_country/'; OK

Time taken: seconds 导入数据

hive> load data local inpath '/root/tmp/' into table ip_to_country; Loading data to table

Table stats: [numFiles=2, numRows=0, totalSize=326858, rawDataSize=0] OK

Time taken: seconds 查看表中数据。

hive> select * from ip_to_country;

下面是样例输出,这里只包含两行实例,完整输出一共包含3000行。 United States Morocco

添加如下JOIN内联创建语法:

hive > SELECT wle.*, FROM weblog_entries wle

> JOIN ip_to_country itc ON = ;

下面是样例输出,这里只包含两行实例,完整输出一共包含3000行。 11402ba8f780f7fbfb108f213449e1b9 / 2012-05-10 21:19:05 United States 7ffb8f8ed136c5fe3a5dd6eedc32eae7 / 2012-05-10 21:17:05 Korea, Republic of SELECT wle.*会告诉Hive输出weblog_entries表中记录的每一列,其中wle是表名的一个简写别名,itc是ip_to_country的简写。此外,JOIN操作等会告诉Hive每一行网络日志记录的IP地址,通过查找表ip_to_country确定其对应的国家。换言之,包含这两张表的IP地址字段是连接键。

接下来使用Hive动态地为网络日志查询结果创建Hive表。 通过创建一张新表来定义新的网络日志数据库的三个字段,分别是request_date,、request_time以及url。此外,定义了一个名为url_length的新字段。

hive> CREATE TABLE weblog_entries_with_url_length AS

> SELECT url, request_date, request_time, length(url) as url_length > FROM weblog_entries;

Query ID = root_20_4284cbf2-5eb7-4662-bae2-73d4998fbf07 Total jobs = 1

Launching Job 1 out of 1

Tez session was closed. Reopening... Session re-established.

Status: Running (Executing on YARN cluster with App id application__0005) ---------------------------------------------------------------------------

先电大数据平台操作手册-iandian-bigdata-v2.1

作。删除函数注销用户定义函数的格式如下:hive>droptemporaryfunctionfunction_na6.2运行案例6.2.1学生数据分析之人数统计某高校开设了体育选修课,可供选修的科目有羽毛球、篮球、足球、体操、游泳、乒乓球、跆拳道、网球、排球等。现需要统计学校学生报名各
推荐度:
点击下载文档文档为doc格式
9reqv47be06m3qp9xkwe9ersa9ps1u00x9f
领取福利

微信扫码领取福利

微信扫码分享