sleepingspring

■ 语言开发
1.扎实的Java基础,理解IO,多线程,集合,熟练使用Java,Scala进行开发;
2.掌握常用的数据结构和算法,如栈、队列、递归和常用排序算法;
■ Spark框架
1.熟练使用Spark相关技术组件,SparkCore、SparkSQL、SparkStreaming;
2.能够使用SparkSQL进行离线计算,能够使用SparkStreaming进行实时计算;
3.掌握Spark存储体系,阅读过Spark部分源码(启动流程,shuffle);
4.能够对Spark进行优化,解决数据倾斜,OOM等问题;
■ Hadoop体系
1.掌握HDFS存储原理,MapReduce运行原理和Yarn资源调度原理;
2.掌握Hive的架构原理,熟练使用HQL语句进行离线业务分析;
3.能够编写UDF类进行业务扩展,能够对Hive进行优化;
■ 数据存储
1.能够使用MySQL/Hbase/Redis等关系型与非关系型数据库;
2.掌握Hbase架构原理,能够使用HBase对数据存取,能够做合理的表设计;
■ 其他
1.能够使用Sqoop和Flume实现数据采集;
2.掌握Kafka消息中间件及其原理,熟练使用高级API,低级API;
3.掌握Zookeeper的架构和工作原理,了解2PC、3PC、ZAB等分布式一致性算法;

 

开发语言
1)熟练的使用Java进行MapReduce和Spark相关业务的开发,书写相应API精通Hive(基于Hive的数据仓库)的架构,掌握Hive原理结构,熟练的使用HQL语句,掌握自定义UDF的编写,可以对相应的业务进行分析,进行相应的Hive的优化,可以进行数仓的搭建。Hive的存储依靠HDFS;
1) 应用程序;
2)熟练的使用Scala进行Spark的开发;
3)熟练的使用Linux的常用命令,能够编写Shell相关的脚本。
计算引擎
1)熟练掌握MapReduce的原理和运作流程,对海量的数据进行分析;
2)熟练掌握Spark Core和Spark SQL对离线数据进行相应的分析;
3)熟练掌握Spark Streaming实现对实时数据进行分析;
4)熟练掌握HQL语句的编写,进行业务分析。
存储工具
2)熟练掌握Hbase的架构,以及相对应组件的工作原理,能够根据业务的不同设计相应的表,并且进行相应的优化,设计相应的二级索引;
3)熟练掌握Redis的工作原理,能够对相应的数据进行快速的操作;
4)熟练掌握MySQL的工作原理,能够使用开发语言进行数据库的连接,熟练的使用SQL语句对相应的业务进行分析。
相关组件
1)对Hadoop生态圈有详细的理解,能够独立完成Hadoop集群的搭建和 Hadoop系统架构的搭建;
2)熟练掌握HDFS分布式文件系统原理,实现对数据的合理存储;
3)熟练掌握Yarn(分布式资源管理)架构和工作原理,熟悉资源分配的整 个流程;
4)熟练掌握Flume的工作机制,内部的运作流程。实现相应的配置,实现数 据的拉取;
5)熟练掌握Sqoop(SQL-to-Hadoop)的工作的原理,运作流程,实现数据 在各组件之间的传输;
6)熟练掌握Kafka分布式消息队列的架构。能够使用Kafka和Flume结合对 实时数据进行简单的处理;
7)熟练掌握Zookeeper(分布式协作服务)的架构,工作原理;
8)能够使用Oozie(工作流程调度器)进行程序流式运行;
9)掌握Git管理工具。

 

■ 语言
1.Java
•熟悉JVM的垃圾清理机制和调优,理解Java多线程的技术;
•拥有OOP的思想,能够熟练地使用Java语言进行MapReduce以及Spark的开发。
2.能够熟练使用Scala语言进行Spark的业务开发。
3.熟悉Linux命令,能够编写Shell脚本。
4.精通SQL语句,能够进行Hive和SparkSQL的开发。

■ 框架
1.Hadoop
•熟悉HDFS的读写流程,并能用其进行海量数据的存取;
•熟悉MapReduce的运行流程,并能用其进行海量数据的分析;
•熟悉Hive的原理,能够熟练使用hql语句以及自定义UDF进行Hive的数据分析,能够进行Hive的调优;
•了解ZooKeeper的原理,能够使用ZooKeeper对集群进行协同服务;
•理解HBase的特性,能够使用HBase进行数据的存储,能够完成HBase的表设计;
•熟悉Flume的框架,能够使用Flume实现不同场景下的数据采集;
•熟知Sqoop的原理,能够使用Sqoop实现不同场景下的数据传输。
2.Spark
•熟悉Spark的框架以及Spark任务的执行流程;
•熟悉RDD的属性,能够使用RDD算子进行Spark Core的开发;
•精通SQL,能够进行Hive on Spark以及SparkSQL的开发;
•能够使用Spark Streaming进行实时处理;
•理解消息中间件Kafka的原理与结构,能够完成Kafka与Spark的对接。

■ 工具
1.熟悉IEDA/Eclipse开发工具,熟悉Git版本控制工具;
2.熟悉数据库连接工具Navicat和Linux系统远程连接工具MobaXterm;
3.熟悉数据仓库建模工具PowerDesigner,能够完成ODS层,DW层以及DM层的设计。

■ 数据库
1.精通SQL语句,熟悉MySQL数据库;
2.熟悉Redis的数据类型以及常规操作,了解Redis的持久化和主从配置。

■ 其他
1.熟悉数据仓库的建模,掌握星型模型和雪花模型的设计;
2.了解二叉树、红黑树的排序算法,了解二叉树的遍历算法。

分类:

技术点:

相关文章: