Hive SQL语句操作
⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计5225字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
⏰个人网站:https://jerry-jy.co/❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我
一、 任务描述
本实验任务主要完成基于Hive环境执行一些常用的Hive SQL语句操作,通过完成本实验任务,要求学生熟练掌握Hive SQL的常用语句,掌握Hive的基础和操作。
二、 任务目标
掌握Hive的数据类型
掌握hive的数据类型的使用
掌握hive的DDL语句的操作
三、 任务环境
本次环境是:Ubuntu16.04+hadoop-2.7.3.+apache-hive-1.2.2-bin
四、 任务分析
1. 大数据离线处理特点
数据量巨大且保存时间长;
在大量数据上进行复杂的批量运算;
数据在计算之前已经完全到位,不会发生变化;
能够方便的查询批量计算的结果;
不像在线计算当前呈现的各种框架和架构,离线处理目前技术上已经成熟,大家使用的均是:使用Hdfs存储数据,使用MapReduce做批量计算,计算完成的数据如需数据仓库的存储,直接存入Hive,然后从Hive 进行展现。
2. HDFS
Hdfs 是一种分布式文件系统,和任何文件系统一样Hdfs提供文件的读取,写入,删除等操作。Hdfs 是能够很好的解决离线处理中需要存储大量数据的要求Hdfs和本地文件系统的区别如下:
- Hdfs 不支持随机读写;
- Hdfs 是分布式文件系统,支持数据多备份;
Hdfs 多备份数据存放策略: 第一个副本放在和client一样的node里(如果client不在集群范围内,则这第一个node是随机选取的,当然系统会尝试不选择哪些太满或者太忙的node);第二个副本放置在与第一个节点不同的机架中的node中(随机选择);第三个副本和第二个在同一个机架,随机放在不同的node中。如果还有更多的副本就随机放在集群的node里。
MapReduce 是一种分布式批量计算框架,分为 Map 阶段和 Reduce 阶段。 MapReduce能够很好的解决离线处理中需要进行大量计算的要求。 MapReduce从出现到现在经历了第一代MapReduce v1 和 第二代MapReduce Yarn。
Yarn 框架相对于老的 MapReduce 框架有以下优势:
- Hdfs 是分布式文件系统,支持数据多备份;
-
- 减小了 JobTracker的资源消耗,之前JobTracker既负责资源分配,也负责任务监控,Yarn 将这两项任务分别交给了ResourceManager 和ApplicationMaster ,减少了之前 JobTracker 单点失败的风险;
-
- 现在大部分使用 YARN