BigData—大数据,一种无法在一定时间内用常规工具进行捕捉、管理和处理的数据集合。大数据开发技术作为大数据技术的一个分支,是许多人学习大数据技术的方向选择之一,那么如何去学习大数据开发技术呢?
大数据开发其实可以分为两类,第一类是编写一些Hadopp、Spark的应用程序;第二类是对大数据处理系统本身进行开发。
在学习大数据开发技术前,小编将挑选并展示一家互联网企业中对于大数据开发其中一种岗位的招聘要求。
某跳动的大数据开发工程师招聘要求:
工作职责:
1、基于海量数据,支持业务对数据的分析和使用;
2、支持业务处理数据的流式处理、分析客户行为等。
任职要求:
1、精通至少一门编程语言,熟练运用各种常用算法和数据结构,有独立的实现能力;
2、熟悉常用的开源组件:Hadoop/Hive/Spark/Storm,并了解其特性和使用场景优先;
3、熟悉机器学习、数据挖掘、数据分析、分布式计算至少某一方面,有较深的理论研究和实践经验优先;
4、数据分析、推荐、机器学习、数据挖掘相关的开发工作优先。
在上述的大数据开发工程师的招聘要求中可以得知我们需要学习哪些内容:掌握一门编程语言、熟悉常用的开源组件、熟悉任意一种大数据处理技术。可以根据这些要求开始学习大数据开发技术。
一、掌握一门编程
在大数据处理技术中支持多种编程语言,但现在主流的大数据技术框架是基于Java编程语言进行开发并运行的,所以学习大数据开发技术只需要学习一门编程语言,也就是Java语言。
这部分需要学习JavaSE、JavaWeb以及企业级框架。
1、JavaSE:JavaSE基础语法、JavaSE面向对象、JavaSEAPI常见操作类、JDBC(连接数据库常用接口)。
2、JavaWeb:JavaScript、Jquery、XML版本控制。
企业级框架:Spring、Springmvc、SpringBoot及MyBatis。
二、大数据处理技术之数据仓库
大数据处理技术需要建立一个数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
数据仓库是由数据库搭建而来的,因此在此部分需要学习SQL语句、MySQL数据库、大数据技术处理中所需要用到的数据库以及数据仓库工具。
1、SQL语句
SQL的全称是StructuredQueryLanguage,翻译成中文就是结构化查询语言,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库。
学习内容:SQL语句基本操作、常用函数、分组函数、多表查询、子查询、存储过程、事务、视图、触发器。
2、MySQL
MySQL是一种关系型数据库,学习MySQL数据库的目的为了更容易地去理解大数据处理技术所要运用到的数据库以及数据仓库工具。
学习内容:MySQL安装、常见命令使用、表与数据库操作、约束。
以下是大数据处理技术所要运用的数据库及数据仓库工具。
1、HBase(一个适合于非结构化数据存储的数据库):HBase模型坐标结构访问场景、HBase访问Shell接口、HBase访问API接口、HBaseRowkey设计、HBase合并分裂数据定位。
2、MongoDB(一个基于分布式文件存储的数据库):MongoDB原理概念模型场景、CRUD操作、MongoDB工具、安全和用户管理
3、Redis(属于NoSQL数据库):Redis安装、Redis配置、Redis持久化RDB与AOF、Redis操作、RedisSentinel、RedisCluster。
4、Hive(基于Hadoop的一个数据仓库工具):HIve体系结构机制场景、HiveDDL操作、Hive文件格式和DML操作、HiveDQL操作、Hive客户端、Hive函数操作、Hive性能优化
5、ES(基于Lucene的搜索服务器):ElasticSearch概念、倒排索引与分词原理、ElasticSearch分布式搭建、Mapping设置、ElasticSearch基本索引、ElasticSearch高级索引、ElasticSearch的运行机制。
三、开源组件
在学习大数据技术开源组件之前还需要学习Linux系统、CentOS及Maven,这是学习大数据技术框架的一个前提,主流的大数据开源组件是基于Linux系统运行的。
1、Linux:LInux系统概念、Linux系统基础知识。
2、CentOS:安装部署基础概念、常用管理命令、常用Shell编程命令。
3、Maven:安装部署基础概念、依赖聚合与继承、搭建管理与应用。
接下来将开始学习大数据技术开源组件。
4、HDFS:HDFS概念、内部结构与读写原理、故障读写容错与备份机制、ZooKeeper、HdfsHA、Federation联邦。
5、MapReduce:MapReduce编程基础、执行过程、MR原理、分片混洗。
6、Yarn:框架组件流程调度。
7、Flume:Flume概念、应用场景、核心技术、应用。
8、Scala:Scala语言基础知识、特征、模式匹配。
9、Kafka:主题分区读写原理分布式、KafkaShell命令及分区、偏移量管理、Kafka生产消费API。
10、Spark:Spark概念、Spark编程模型、运行原理、架构特点、运行模式、SparkSQL、SparkStreaming。
11、Flink:Flink环境搭建、Flink编程模型及核心概念、FlinkAPI编程、Flink中Time及Windows的使用、Flink内部机制。
12、Oozie:Oozie调度框架。
大数据技术作为当代火热的IT技术的之一,人才需求量巨大,薪资待遇优越,大数据开发技术作为大数据技术的方向之一,前途更是一片光明。通过这篇文章,想要学习大数据开发技术的朋友们现在应该知道大数据开发如何学习了吧。