1. 题目说明

设计题:MySQL数据库A有1000w条数据,完成统计再输入到另外的B表中

A表

test1 0.2,3.5,1,1
test1 1.2,2.3,4.56
test2 2.1,0.3,9.2,3.5,2.4
test3 2.1,4.5,3.4,7.65
test4 1.2,3.4,54,32.1,12.3
test5 12.1,12.3
test5 12.34
test5 0.01,0.02
test6 2.3,45.3,23.21
test6 23.4,23,22.12
 B表

test1 0.2 4.56
test2 0.3 9.2
test3 2.1 7.65
test4 1.2 54.0
test5 0.01 12.34
test6 2.3 45.3
2. 实现过程

不使用常规方式实现,这里讨论使用大数据分析工具完成。

(1)首先需要使用Sqoop将数据到HDFS上,分隔符为制表符

(2)常见Hive表

hive (default)> create table mydb(name string,num array<double>)
> row format delimited fields terminated by '\t'
> collection items terminated by ',';
(3)导入数据(这里使用本地测试文件)

hive (default)> load data local inpath '/home/fanl/data/mydb' into table mydb;
(3)查询表信息

(4)因为Hive的数组类型字段,可以用sort_array对每一行数据进行排序

hive (default)> select name,sort_array(num) from mydb;

这里每一行的最大值和最小值已经看到了,最小值为num[0],最小值为num[长度-1],数组字段的长度函数是size(num)

(5)综合起来,并且按name分组

hive (default)> select s.name,min(s.min) as min,max(s.max) as max
> from(select t.name,t.num[0] as min,t.num[size(num)-1] as max
> from (select name,sort_array(num) as num from mydb) t)s
> group by s.name;

---------------------
作者:樊领
来源:CSDN
原文:https://blog.csdn.net/qq_15973399/article/details/89963854
版权声明:本文为博主原创文章,转载请附上博文链接!

大数据HIve的更多相关文章

  1. [Hadoop大数据]——Hive初识

    Hive出现的背景 Hadoop提供了大数据的通用解决方案,比如存储提供了Hdfs,计算提供了MapReduce思想.但是想要写出MapReduce算法还是比较繁琐的,对于开发者来说,需要了解底层的h ...

  2. [Hadoop大数据]——Hive连接JOIN用例详解

    SQL里面通常都会用Join来连接两个表,做复杂的关联查询.比如用户表和订单表,能通过join得到某个用户购买的产品:或者某个产品被购买的人群.... Hive也支持这样的操作,而且由于Hive底层运 ...

  3. 大白话详解大数据hive知识点,老刘真的很用心(2)

    前言:老刘不敢说写的有多好,但敢保证尽量用大白话把自己复习的内容详细解释出来,拒绝资料上的生搬硬套,做到有自己的了解! 1. hive知识点(2) 第12点:hive分桶表 hive知识点主要偏实践, ...

  4. 大白话详解大数据hive知识点,老刘真的很用心(3)

    前言:老刘不敢说写的有多好,但敢保证尽量用大白话把自己复习的内容详细解释出来,拒绝资料上的生搬硬套,做到有自己的了解! 1. hive知识点(3) 从这篇文章开始决定进行一些改变,老刘在博客上主要分享 ...

  5. 大数据- Hive

    构建在Hadoop之上的数据仓库,数据计算使用MR,数据存储使用HDFS         由于数据计算使用mapreduce.因此通经常使用于进行离线数据处理 Hive 定义了一种类 SQL 查询语言 ...

  6. 入门大数据---Hive计算引擎Tez简介和使用

    一.前言 Hive默认计算引擎时MR,为了提高计算速度,我们可以改为Tez引擎.至于为什么提高了计算速度,可以参考下图: 用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Re ...

  7. [Hadoop大数据]——Hive数据的导入导出

    Hive作为大数据环境下的数据仓库工具,支持基于hadoop以sql的方式执行mapreduce的任务,非常适合对大量的数据进行全量的查询分析. 本文主要讲述下hive载cli中如何导入导出数据: 导 ...

  8. 大数据 Hive 简介

    第一部分:Hive简介 什么是Hive •Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. •本质是将SQL转换为MapReduce程序 ...

  9. 入门大数据---Hive是什么?

    这篇文章主要介绍Hive的概念. 简介: Hive中文名叫数据仓库管理系统,之前我们操作MapReduce必须通过编写代码或者通过特殊命令来实现,有了Hive我们通过常用的SQL语句就能操作MapRe ...

  10. 入门大数据---Hive数据查询详解

    一.数据准备 为了演示查询操作,这里需要预先创建三张表,并加载测试数据. 数据文件 emp.txt 和 dept.txt 可以从本仓库的resources 目录下载. 1.1 员工表 -- 建表语句 ...

随机推荐

  1. 【wlan】iw命令集合

    查看所连接的客户端的个数和信息 iw dev wlan0 station dump root@OpenWrt:~# iw dev wlan0 station dump Station e0:ac:cb ...

  2. 【CQOI2017】老C的方块

    Description https://loj.ac/problem/3022 Solution 他讲得很清楚 将那篇博客中的红色标号为 \(0\),黄色为 \(1\),蓝色为 \(2\),绿色为 \ ...

  3. PAT乙级1038

    题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805284092887040 题解一 这份代码最后一个点会超时 ...

  4. bat 判断变量字符串中是否包含字符串

    bat 判断变量字符串中是否包含字符串 @echo off rem way 1 set str=machine-order-service set matchStr=orderd echo %str% ...

  5. mysql 表字段与关键字相同的话

    desc is a reserved keyword (short for DESCENDING in ORDER BY). Enlose it into backticks: INSERT INTO ...

  6. 埋点(Event Tracking)vs 无埋点(Codeless Tracking) vs 可视化埋点(Visual Event Tracking)

    在理解什么是埋点之前,首先需要了解一些基础知识:(以下摘自:http://www.chinawebanalytics.cn/auto-event-tracking-good-bad-ugly/) 我们 ...

  7. sql防止注入的技巧

    from Stack Overflow Here is a similar solution which I think is more efficient in building up the li ...

  8. (vue.js)Vue element tab 每个tab用一个路由来管理?

    (vue.js)Vue element tab 每个tab用一个路由来管理? 来源:网络整理     时间:2017/5/13 0:24:01     关键词:   关于网友提出的“ (vue.js) ...

  9. 解决xftp远程连接后出现中文乱码

  10. mysql保留最新数据

    直接上sql语句,亲测可用: DELETE tb FROM lotus_system_log AS tb ,(SELECT pk_id FROM lotus_system_log ORDER BY p ...