IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

Hive – Hadoop与SQL 把SQL语句转换为MapReduce任务来执行

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

Hive是什么

简单来说,通过 Hive 可以使用 SQL 来查询分析 Hadoop 中的大规模数据

Hive 的思路就是将结构化的数据文件映射为数据库表,然后把SQL语句转换为MapReduce任务来执行

下面看一个简单的示例,了解下 Hive 是怎么用的

hive> select count(*) from invites;

结果信息

......
Total jobs = 1
Launching Job 1 out of 1
......
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
Stage-1 map = 0%,  reduce = 0%
Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 2.89 sec
Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 5.86 sec
......
Stage-Stage-1: Map: 1  Reduce: 1   Cumulative CPU: 5.86 sec   HDFS Read: 14186 HDFS Write: 103 SUCCESS
......
OK
525
Time taken: 117.23 seconds, Fetched: 1 row(s)

上面执行了一个我们熟悉的SQL查询,然后自动转为了MapReduce任务,最后输出统计结果

为什么使用Hive

在没有 Hive 的时候,对海量文件进行统计分析是比较麻烦的

例如一个日志文件,记录了用户的登录信息,如 用户名、日期、地点

现在想统计北京市的登录数据,就需要写一个mapreduce程序、打个jar包、在hadoop中运行jar,然后得到统计结果

后来又想统计某天的登录情况,还要走一遍 写程序、打包、运行 这个流程

当统计需求很多时,这个流程就非常低效了

这些统计如果用SQL的话则非常简单,而且SQL的普及度高,学习成本很低

所以有人就会想,可不可以用SQL完成Hadoop中数据文件的分析统计呢?

Hive 便产生了,把Hadoop数据文件映射成表,把SQL自动转为mapreduce程序

通用性的需求可以直接使用 SQL 来完成,对于特殊需求,可以结合自定义的mapreduce方法来处理

极大的提高了大规模数据的统计效率

用法示例

表操作

建表

hive> CREATE TABLE pokes (foo INT, bar STRING);

查看表结构

hive> DESCRIBE pokes;
OK
foo                     int
bar                     string
Time taken: 0.17 seconds, Fetched: 2 row(s)

删除表

hive> DROP TABLE pokes;

导入数据

示例文件 kv1.txt 内容

348val_348
307val_307
194val_194
414val_414
477val_477
...

把 kv1.txt 导入 pokes 表

hive> LOAD DATA LOCAL INPATH 'kv1.txt' OVERWRITE INTO TABLE pokes;

查询

例1

hive> select * from pokes where foo<5;
OK
0   val_0
4   val_4
0   val_0
0   val_0
2   val_2
Time taken: 1.706 seconds, Fetched: 5 row(s)

例2

hive> select count(*) from pokes where foo<5;
Query ID = root_20161020015023_839d455e-3591-4827-afa0-7c8b6a32b69e
......
2016-10-20 01:50:51,054 Stage-1 map = 0%,  reduce = 0%
2016-10-20 01:51:42,680 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 3.81 sec
2016-10-20 01:52:01,509 Stage-1 map = 100%,  reduce = 100%, 
......
OK
5
Time taken: 101.962 seconds, Fetched: 1 row(s)

HiveQL转mapreduce的思路

背景描述

用户表

user_id

name

1

张三

2

李四

订单表

user_id

order_id

1

001

1

002

2

003

对两张表进行连接,统计出用户名和订单号

hive> select u.name, o.orderid from order o join user u on o. user_id = u. user_id;

MapReduce过程

  • map操作

对两张表进行map操作,因为是以user_id进行关联,所以user_id作为KEY

key

value

1

<1,张三>

2

<1,李四>

key

value

1

<2, 001>

1

<2, 002>

2

<2, 003>

value中的 1 和 2 作为分组标识

  • 根据key排序
key

value

1

<1,张三>

1

<2, 001>

1

<2, 002>

2

<1,李四>

2

<2, 003>

  • reduce操作

根据分组标识来区分,最后得出

name

order_id

张三

001

张三

002

李四

003

这样就通过SQL完成了MapReduce统计

文章永久链接:https://tech.souyunku.com/?p=11697


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(60) 打赏



未经允许不得转载:搜云库技术团队 » Hive – Hadoop与SQL 把SQL语句转换为MapReduce任务来执行

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367