虽然目前大数据的细分岗位比较多,但是主要集中在五个方面,分别是底层平台研发、大数据应用开发、大数据分析、大数据运维和大数据教育。除了底层平台研发往往需要中高端人才以外,其他岗位的知识结构并没有太多的基础性要求,下面对这几大方面的知识结构做一个具体的介绍。
大数据应用开发岗位需要的知识结构包括大数据平台体系结构、编程语言、数据库(NoSQL)、算法设计等内容,可见在大数据应用开发岗位需要掌握SQL,NoSQL的意思是Not only SQL(不仅仅是SQL),不是说不需要SQL。对于应用程序开发人员来说,掌握SQL是基本的要求。
大数据分析岗位的知识结构包括大数据平台体系结构、编程语言、数据库、算法设计、算法实现、数据呈现等内容,大数据分析注重算法的设计与实现,而数据呈现则往往需要通过SQL语言完成数据的提取(BI),所以对于大数据分析人员来说是必须掌握SQL语言的,而且需要对SQL语言非常熟悉。
大数据运维的知识结构包括大数据平台的搭建、组件部署、编程语言、平台维护、网络维护等内容,对于运维人员来说掌握SQL语言也是一个基本的要求,因为大部分运维工作都需要对数据进行操作,通过Shell(Python)来编写运维脚本是一个比较常见的做法。
大数据教育则是为大数据行业提供人才培养的服务,大数据教育更是涉及到以上各个岗位的知识结构,当然需要掌握SQL语言了。
对于数据研发(ETL)同学或者数据分析(BI)同学来说,SQL语言是必须要会的,因为你需要对大量数据进行加工处理,得到自己想要结果数据。
对于大数据平台开发或者大数据组件开发而言,会不会SQL都可以,平时主要使用Java语言来进行工程开发,对于SQL语言的使用,并不是太多,除了在查询关系型数据库中数据时,会进行使用。
什么是SQL
SQL,中文即结构化查询语言,主要用于对数据的查询、更新、删除等操作。SQL是一种标准化语言,旨在降低开发同学的入门门槛,快速对数据进行处理。一般对于传统的关系型数据库用的比较多,比如查询Mysql、Oracle数据库中的数据等。
目前不仅仅传统数据库支持SQL,其实很多大数据组件也渐渐开始支持SQL,尤其是在数据仓库方面,比如Hive,Spark SQL,Flink SQL,Druid等等。支持SQL语言最直接的一个目的,就是提高开发效能。比如对于Flink组件,使用SQL你几分钟可能就将实时任务开发完成,但你如果使用其底层Java API进行开发,可能几天你都不一定能开发出来。
大数据涉及到很多方面,其中对编程和数据库是基础要求。
每一种编程都涉及到数据库,可以说编程和数据库是孪生一对出现的。
编程是你罗辑思维和应用的能力的直接体现,编程语言有很多,诸如JAVA,c/c++,Python,go,Javascript等等,掌握一门能熟练应用。
编程要和数据打交道,所以,数据库操作就是必须的了,包裹关系数据库和非关系数据库(可以对应为SQL和 NoSQL)。
SQL是关系数据库的结构化查询语言的缩写,而NoSQL意思是“Not only SQL”(不仅仅是SQL了)……
我觉得学习大数据可以不学SQL,需要分布式计算用mr代替,不需要分布式计算用python也是可以的。但是这样处理数据会比较麻烦,可能平时一个任务用SQL几行代码就搞定了,但是换成mr或python可能要几百行都是有可能的。
如果要进大公司并且搞大数据,SQL肯定是必不可少的,因为SQL处理数据特别方便,公司相应的业务会用到,自己也不得不学。SQL语法并不难,多学一门语言并没有什么坏处,所谓技多不压身。
目前很多企业的数据还是存在传统的数据库中,要访问的话,SQL是必须的;另外目前很多操作都是在SQL的基础上发展来的。所以无论如何,SQL都是必备的技能。
sql是关系数据库的基础语言,是现在大数据平台用的数据库可不是这个,但是学习大数据还是非常有必要学习sql的。因为,一、大数据的来源很多是从既有数据库中提速的,这些数据库基本都是关系型数据库。只有熟知sql才能读懂,操作,整合语言的数据,并提速后重新存入大数据平台。二、关系数据库的架构,逻辑,操作是经典,学好它才能更好的领会数据库的奥妙,熟练掌握sql的查询,插入,删除,修改,并表,对了解数据的操作和分析本身就有很大的帮助。
先上结论:
学习大数据,SQL是基础
一、数据库的SQL
SQL是数据库的基本查询语言,无论是做后端开发,还是做数据分析,机器学习或者数据挖掘,都需要熟练的掌握。
二、数据仓库的SQL
数据仓库是大数据时代存放大量数据的地方,如果熟悉HIVE的同学,会发现HIVE的数仓操作几乎和标准的SQL语言一致。所以一些mapreduce的基本操作都可以用SQL的语法来简单的代替了。
总之,SQL是一个很简单的语言,掌握他没有坏处,所以好好学习吧!
PS:本号作者目前是某大厂机器学习算法工程师,致力于全栈AI算法和业务场景落地,非常乐于在网上分享最新的AI知识,也经常开直播教同学AI算法和编程。感兴趣的同学可以关注本头条号,获得最新的干货!
谢谢大数据分析,必须要学SQL相关的命令和相关的学习,因为数据在量大的时候,如果想在海量的数据中提取以及进行操作的话,普通的其他数据库的操作方法,实际上与这个sql数据库的操作是一样的,应该说是大同小异,因此如果你要有学习大数据,就应该要学习sql数据库的命令和相关的课程。
必须的基础之一
学习数据查询原理