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. 微信小程序开发(十)获取手机的经纬度

    // succ.wxml <view>经度:{{lon}}</view> <view>纬度:{{lat}}</view> // succ.js var ...

  2. EasyUI中取的DataGrid中选中行数据

    dataGrid中显示列:ItemID,ItemCode,ItemName,Note 一.选中一行 var selRow = $('#dataGrid').datagrid('getSelected' ...

  3. 共享手机网络给电脑(USB连接)

    华为手机步骤: 设置-->搜索-->hdb-->允许HiSuite通过HDB连接设置 设置-->无线和网络-->移动网络共享-->USB共享网络

  4. Linux内核卸载和禁止更新

    注意:对于可以用好几条命令实现的,第一条命令已经验证,其他的命令参考自网上,没有进行验证. 查看Linux系统内核的命令有下面几条 dpkg --get-selections | grep linux ...

  5. PAT Basic 1059 C语言竞赛 (20 分)

    C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……). 1.排名为素数的学生将 ...

  6. shell脚本基础编写

    shell脚本的格式 名称:Shell 脚本文件的名称可以任意,但为了避免被误以为是普通文件,建议将 .sh 后缀加上,以表示是一个脚本文件. shell 脚本中一般会出现三种不同的元素: 第一行的脚 ...

  7. java线程基础巩固---如何捕获线程运行期间的异常

    对于友盟统计我想搞程序的应该无人不晓,其中对于里面用得最多的功能就是对线上的崩溃进行修复,而这些异常都是运行期的,如: 其实也就是可以对线程中出现了这种运行期异常是提供有一种捕获机制对其进行统一处理, ...

  8. docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /tmp/tfserving/

    注意要是当前的完整路径 pwd查看到完整路径,再加入到source里面即可

  9. 前端知识体系:JavaScript基础-变量和类型

    前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...

  10. C# 设置程序开机自启动

    设置启动 //设置开机自启动 string path = Application.ExecutablePath; RegistryKey rk = Registry.LocalMachine; Reg ...