泰州大数据培训班
泰州大数据培训班
- 上课时段:详见详情
- 教学点:1个
- 开班时间:滚动开班
- 课程价格:请咨询
- 已关注:748
- 优惠价格:请咨询
- 咨询电话: 400-008-6280
大数据是一种在获取、存储、管理、分析等方面大大超出了传统数据库软件工具能力范围的数据集合。它具有大量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。 未来大数据相关人才缺口巨大。
大量优质岗位等你来
薪资待遇随工作年限呈阶梯式上涨
只有想不想学,没有能不能学
理论、实战双向并行,奠定入行扎实基础
第一阶段 Java语言基础 | Java语言基础: Java语言入门、基本语法、面向对象、常用API、异常、集合、IO流、多线程、网络编程、反射、JDK新特性、MySQL数据库、JDBC 培养方向: 了解Java语言的特征和应用领域;掌握JDK、JRE和JVM的作用;能够成功搭建Java开发环境;完成HelloWorld程序的编写;掌握IDE工具IDEA的使用方式; 掌握Java基本语法中的常量、变量的声明和使用;掌握Java中的运算符、数据类型及其相互转换;掌握分支结构、循环结构、方法的定义和使用;掌握数组的使用,理解数组的内存结构; 掌握面向对象的编程思想;掌握类和对象的定义和使用;理解封装、继承、多态等特性;掌握抽象类、接口的特点和使用方式;充分理解并运用Java面向对象思想来进行程序开发; 掌握Java中的常用类和工具类的使用,能够使用这些常用类和工具类解决多种问题; 掌握Maven项目构建和依赖管理、掌握Maven的继承和聚合; |
第二阶段 Hadoop技术栈 | Hadoop技术栈 Linux、Hadoop、ZooKeeper、Hive、HBase、海王星大数据金融平台 培养方向: 掌握Linux操作系统安装及常用命令;掌握shell脚本编程; 掌握大数据架构Hadoop原理及编程应用;掌握Hadoop三大组件的使用方式、方法以及Hadoop调优; 掌握ZooKeeper协管理器工作机制以及动态感知原理及使用; 掌握Hive数据仓库的使用及调优原理; 掌握HBase数据库的开发、使用以及调优; 掌握消费金融业务处理流程;掌握根据业务制定合理技术框架(技术选型)的能力;大量数据的日志采集方案;数仓的分层搭建以及数仓建模;掌握大量数据的ETL处理方式;掌握工作流调度解决方案;掌握即席查询工具使用及其原理;掌握数据可视化报表工具的使用;掌握数据治理框架的原理以及使用;掌握集群指标监控工具的使用 职业方向: Hadoop开发工程师、数据仓库工程师、ETL开发工程师、离线开发工程师 |
第三阶段 Spark技术栈 | Spark技术栈 Scala、Kafka、Spark、交通流量实时可视化大屏 培养方向: 掌握Scala基本语法和进阶的使用,为学习Spark、Flink框架打下基础; 掌握消息队列概念、Kafka原理架构、日志合并、消息检索; 掌握分布式内存计算、RDD、DataSet、DStream概念; 掌握离线计算、流式计算; 掌握可视化大屏内在价值与用途;掌握实时流数据分析业务处理流程;掌握Flume+Kafka+Sparkstreaming+Redis架构整合;掌握Springboot的使用;掌握websocket操作使用;了解Echarts的使用方式 职业方向: Spark开发工程师、实时开发工程师 |
第四阶段 Flink流式处理框架 | Flink流式处理框架: Flink、ClickHouse、畅游天涯旅游实时分析项目 培养方向: 掌握Flink的原理;掌握Flink的使用以及与其他技术的整合; 掌握ClickHouse架构、速度快的原因;掌握ClickHouse数据库和表引擎;掌握ClickHouse基本操作以及和spark、flink的整合; 掌握旅游行业业务流程;掌握Flink在实时计算业务中的使用;掌握自定义Flink source和sink来生成和消费Kafka数据;掌握Flink和ClickHouse整合已存储数据;掌握搜索引擎Elasticsearch;掌握Flink和Elasticsearch整合;掌握基于Flink CEP处理复杂事件 职业方向: Flink开发工程师、实时开发工程师、实时数仓工程师 |
第五阶段 项目实战 | 项目实战: EWR消费信用风险舆情系统、Monoceros物流大数据平台、物流Kubernetes+Docker项目迁移 培养方向: 掌握信贷金融业务处理流程;掌握根据业务制定合理的技术框架(技术选型);掌握当下流行的数据中台概念;掌握前台工作整体机制以及技术应用;掌握后台综合分析展示应用系统;掌握大量数据的综合采集方案;掌握大量数据的ETL处理方式;掌握工作流调度解决方案;掌握集群指标监控工具的使用; 掌握基于亿级订单的物流大数据平台的研发;掌握基于Flink实现仓库货物、仓储车运动轨迹、包裹追踪等多维度业务分析;具备基于HDP平台收集数据资源的能力,实现秒级OLAP分析; 掌握Docker容器化技术以及应用;掌握Kubernetes核心功能以及在项目中的部署应用 职业方向: 数据仓库工程师、ETL开发工程师、离线开发工程师、实时开发工程师、数据中台工程师 |
第六阶段 就业指导 | 就业指导: 企业面试前期准备与技巧、专业指导、企业面试复盘 课程内容: 职业规划讲解、简历注意事项详解、就业情况分析简历制作(个人技能、项目经验、自我评价); 简历审核修正、常见面试题的讲解、技术简历的指导与优化、强化实战项目(项目模块的介绍,业务流程的梳理); 真实面试复盘(晚自习时间)(总结学员面试中的问题,进行针对性的辅导以及相关面试题的讲解) 培养方向: 从简历、面试技巧等层面助力学员,培养学员沟通表达能力 让学员清晰了解职业发展规划,明确自身定位,找到适合自身发展的工作; 通过项目强化、面试专项指导、面试复盘等,学员能更好就业 |
一路暖心服务,不怕您货比三家
大数据培训资料
Hive可考察的内容有:基本概念、架构、数据类型、数据组织、DDL操作、函数、数据倾斜、SQL优化、数据仓库。面试数据分析工程师更多会考察DDL操作、函数、数据倾斜、Hive优化、数据仓库这些知识点。来看看具体问题吧。
一、基本概念
基本概念一般会以问答题的方式进行考察,比如在面试的时候直接问:说说你对Hive的理解?Hive的作用有哪些?这种类似的问题。
1、说说你对Hive的理解
从概念上讲,Hive是一款开源的基于hadoop的用于统计海量结构化数据的一个数据仓库,它定义了简单的类似SQL的查询语言,称为HQL,允许熟悉SQL的用户查询数据。从本质上讲:Hive是将HQL语句转换成MapReduce程序的一个工具。 上题的回答提到了数据仓库和MapReduce,考官可以针对你的回答,进而提问数据仓库和MapReduce相关的知识点。
2、什么是数据仓库
数据仓库的概念是在20世纪90年代被提出来,初衷是专门为业务分析建立一个数据中心,解决因为数据太多查询效率低下的问题。一个被广泛接受的定义是:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
3、简单说说MapReduce
MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在大规模集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。MapReduce的思想就是“分而治之”,Mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”来处理;Reducer负责对map阶段的结果进行汇总。
一个比较形象的语言解释MapReduce: 我们要统计图书馆中的所有书的数量。你统计1号书架,我统计2号书架。这就是“Map”。我们人越多,统计得就越快。现在我们到一起,把所有人的统计数加在一起。这就是“Reduce”。
4、Hive的作用有哪些
1)可以将结构化的数据文件映射成一张表,并提供类SQL查询功能,方便非java开发人员对hdfs上的数据做 MapReduce 操作;
2)可以对数据提取转化加载(ETL)
3)构建数据仓库
5、Hive的使用场景
1)即席查询:利用CLI或者类似Hue之类的工具,可以对Hive中的数据做即席查询,如果底层的引擎使用的是MapReduce耗时会很久,可以替换成Tez或者Spark;
2)离线的数据分析:通过执行定时调度或者脚本去执行HQL语句,并将结果保存;
3)构建数仓时用于组织管理数据库和表。
二、架构
架构这一块主要考察Hive的基本组成,也可以针对具体的部分进行进一步考察。
6、Hive的构成包括哪些部分?
1)用户接口层:常用的三个分别是CLI,JDBC/ODBC 和 WUI。其中最常用的是CLI,CLI启动的时候,会同时启动一个Hive副本。JDBC/ODBC是Hive的客户端,用户通过客户端连接至Hive Server。在启动客户端模式的时候,需要指出Hive Server所在节点,并且在该节点启动Hive Server。WUI是通过浏览器访问Hive。
2)元数据存储:Hive将元数据存储在RDBMS中,有三种模式可以连接到数据库,分别是内嵌式元存储服务器、本地元存储服务器、远程元存储服务器。
3)Driver(Compiler/Optimizer/Executor)
Driver完成HQL查询语句的词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS上,并由MapReduce调用执行。
可以参考下图加深印象。
7、Hive怎么保存元数据,各有什么特点?
Hive支持三种不同的元存储服务器,分别为:内嵌式元存储服务器、本地元存储服务器、远程元存储服务器,每种存储方式使用不同的配置参数。
内嵌式元存储主要用于单元测试,在该模式下每次只有一个进程可以连接到元存储,Derby是内嵌式元存储的默认数据库。
在本地模式下,每个Hive客户端都会打开到数据存储的连接并在该连接上请求SQL查询。
在远程模式下,所有的Hive客户端都将打开一个到元数据服务器的连接,该服务器依次查询元数据,元数据服务器和客户端之间使用Thrift协议通信。
8、什么是CLI,如何使用Hive的CLI?
CLI就是命令行模式,通过命令行执行HQL命令。Hive 命令行模式启动有两种方式。执行这条命令的前提是要配置 Hive 的环境变量。
1) 进入 /home/hadoop/app/hive 目录,执行如下命令。
./hive
2) 直接执行命令。
hive --service cl
9、Hive QL语句是怎么执行的?
整个过程的执行步骤如下:
(1) 解释器完成词法、语法和语义的分析以及中间代码生成,最终转换成抽象语法树;
(2) 编译器将语法树编译为逻辑执行计划;
(3) 逻辑层优化器对逻辑执行计划进行优化,由于Hive最终生成的MapReduce任务中,Map阶段和Reduce阶段均由OperatorTree组成,所以大部分逻辑层优化器通过变换OperatorTree,合并操作符,达到减少MapReduce Job和减少shuffle数据量的目的;
(4) 物理层优化器进行MapReduce任务的变换,生成最终的物理执行计划;
(5) 执行器调用底层的运行框架执行最终的物理执行计划。
仔细看一下六七八的问题是递进的,第六题回答出来后,才有可能被问到第七和第八。
三、数据类型
10、Hive支持哪些数据类型?
简单的数据类型支持:TINYINT、SMALLINT、INT、BIGINT、BOOLEAN、FLOAT、DOUBLE、STRING,复杂的数据类型支持:ARRAY_TYPE、MAP_TYPE、STRUCT_TYPE。
数据组织
数据组织主要考察面试者对Hive的数据库、表、视图、分区和表数据的概念的考察,清楚的说出每个概念的含义就可以了。
11、HIve的存储结构包括哪些?
包括数据库、表、分区、桶、视图和表数据。
12、可以具体说说每种结构吗?
database-数据库在 HDFS 中表现为指定的目录下的一个文件夹,通过${hive.metastore.warehouse.dir}可以进行设置;
table-内部表在 HDFS 中表现为某个 database 目录下一个文件夹,默认创建的都是内部表;
external table-外部表与内部表类似,在 HDFS 中表现为指定目录下一个文件夹;
bucket-桶在 HDFS 中表现为同一个表目录或者分区目录下根据某个字段的值进行 hash 散列之后的多个文件;
view-视图与表类似,只读,基于基本表创建,不占存储空间,实际是一连串的查询语句;
表数据对应 HDFS 对应目录下的文件。
13、你知道内部表和外部表的区别吗?
内部表数据由Hive自身管理,外部表数据由HDFS管理;删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除。
14、说说分区表和分桶表的区别
分区表,Hive 数据表可以根据某些字段进行分区操作,细化数据管理,让部分查询更快,不同分区对应不同的目录;
分桶表:表和分区也可以进一步被划分为桶,分桶是相对分区进行更细粒度的划分。分桶将整个数据内容按照某列属性值的hash值进行区分,不同的桶对应不同的文件。
四、DDL操作
DDL操作主要考察的是对库和表的操作,这是数据分析师工作中最常用的。一般会结合实际的需求进行出题。
例如一份视频APP的播放数据,记录用户每次的起播和结束播放:包括用户的设备ID、日期、起播或者结束,播放时长(起播时为0)
15、先构建一个测试数据库,然后构建一张表用来存储上述的数据,按照日期进行分区
create database test;CREATE TABLE test.video_play ( `device_id` string COMMENT '设备ID', `event` string COMMENT '起播或者结束', `happen_time` timestamp COMMENT '发生时间', `play_duration` bigint COMMENT '播放时长')PARTITIONED BY (`key_day` string)
扫描二维码免费领取试听课程
登录51乐学网
注册51乐学网