[编程开发] 在大数据分析/挖掘领域,哪些编程语言应用最多?

[复制链接]
yaner 发表于 2023-10-4 18:58:18|来自:中国 | 显示全部楼层 |阅读模式
大数据越来越火,想了解下载这个行业领域,哪些编程语言有其他语言所不具备的优势?是python?还是R?
全部回复5 显示全部楼层
金迅网络 发表于 2023-10-4 18:59:06|来自:中国 | 显示全部楼层
作为在大数据行业从业5年,先后就职过京东、阿里等大厂,同时也担任过数据开发、大数据平台开发、数据挖掘相关岗位,来聊一聊大数据分析和数据挖掘到底需要掌握哪些编程语言,同时需要掌握哪些技能,以及未来可以从事哪些行业

本文将从如下三个方面进行讲解,来帮助大家了解大数据行业以及进入大数据行业需要掌握哪些技能,以及如何进行学习
(1)大数据分析和数据挖掘可以从事哪些行业
(2)大数据分析和数据挖掘的工作内容和需要的技能
(3)大数据分析和数据挖掘的学习路线

一、大数据分析和数据挖掘有哪些工作机会

目前市面上需要大数据分析和数据挖掘相关的行业公司是非常多,主要分为如下几类:
(1)互联网公司:阿里、腾讯、华为、京东、字节等等这种互联网公司都需要数据相关岗位
(2)金融行业:银行、券商,也需要一些数据分析人员来做做一些银行的数据分析
(3)国企、运营商:一些国企和运营商要进行数字化,因此也是非常需要数据相关人才
(4)零售行业:比如说我们知道很多零售商,旺旺、喜茶、元气森林等公司都需要数据相关人员
(5)汽车行业:传统车企:东风,新型车企:小鹏汽车、蔚来等等都需要数据相关岗位

至此,我们能看到大数据分析和数据挖掘的从业方向是非常广,无论是比较火的互联网行业、传统行业——金融行业(银行、券商)、国企以及运营商(移动、联通)、传统零售行业、汽车行业等等。因此,能看到数据相关职位的就业市场还是非常大的。

二、大数据分析和数据挖掘的工作内容
那么大数据分析和数据挖掘的工作内容主要是哪些呢?作为一个在数据行业工作多年的从业者,我来聊一聊数据相关的岗位和内容究竟有哪些?
大数据开发:包含数据平台开发、数据产品开发和数据开发(ETL):即数仓
数据平台开发:dataworks、dataphin 这种数据平台的开发,下面是一个关于数据平台开发相关招聘和介绍,能看到需要的内容基本上就是建设一个大数据平台,比如说:数据开发平台、数据计算平台或者数据大屏、数据报表平台等等,因此使用的语言主要是java,日常工作就是后端开发+大数据开发,需要掌握的技能也就是后端+大数据相关的技能






数据应用开发:主要是利用技术解决业务问题,比如我们能看到的一些画像应用、推荐应用还有营销应用等等,都是数据应用开发,主要是利用大数据的技术对用户进行一些分析和应用,来提升公司收入或者用户增长等等,让用户看到合适的内容或者把广告匹配给适合的用户。






数仓:数据清洗、数据加工相关工作,主要是针对于数据的清洗和加工,需要了解数据加工的流程、数据的来源;以及数据从采集、清洗、加工的一套全流程,保障数据可用到最后发挥它的价值。






数据分析师(BI):主要是理解业务,会sql 即可,很多女生做这个,薪资不差。这个岗位其实要求的技能相对来说比上面的岗位要求要简单一些,主要集中在SQL、python两个技能,以及掌握一些报表平台,比如:tableau或者其他的bi报表平台。





比如如下数据大屏和bi报表,都是数据分析需要掌握如何使用和搭建的





数据挖掘:主要是利用数据+算法,进行用户或者内容的挖掘分析,比如说我们经常在网上看到的抖音的个性化推荐,让你刷的停不下来。







三、  大数据分析和数据挖掘需要掌握哪些编程语言以及学习路线
根据上面的岗位介绍,我们能看到SQL是大数据分析和数据挖掘的第一语言
(1)SQL
SQL是一种使用计算机语言来建立和执行查询的方式。SQL是一种标准的,易用且功能强大的编程语言,适合创建应用程序。同时SQL在数据分析和程序开发领域,是必须掌握的一门编程语言。掌握了SQL,我们就可以对于数据进行一些处理和分析
下面是一个SQL学习路线,学习SQL需要掌握一些数据库相关理论和操作,然后就可以学习SQL相关的基础语法和入门操作了。



上面只是简单介绍了下SQL学习的路线,如果大家想实际去学习和掌握SQL,可以看看【知乎知学堂】推出的SQL教程,只需要0.1元即可学习和掌握SQL相关技能


python
python 是数据分析领域一门非常重要的语言,下面是python的学习路线,需要我们了解程序开发的一些理论和基础,同时需要编程语言的一些基础,数据结构相关理论和方法,还有就是一些python相关的算法理论



学习python以及后续的一些其他编程语言和机器学习相关算法,都需要我们掌握和学习数据结构相关的理论和基础,下面是数据结构相关算法学习路线,从常用算法(排序、查找、动态规划、队列、链表、栈、树、图)的学习到掌握(刷题来进行巩固加深)



Java
java在大数据应用开发和平台开发中是使用的非常多的一门开发语言,像上述数据大屏、BI报表平台后端基本上都是用Java来开发,因此掌握和学习Java语言也是非常有必要的。以及相关的一些java框架的学习,Spring、Mybatis等等。下面是一个Java学习路线的思维导图。



掌握数据结构、Java语言以及SQL语言,我们就能够很轻松的开发出BI报表平台了,因此作为大数据 开发的一门语言,也是非常有必要进行学习的。
大数据组件学习
大数据基础学习部分其实就是我上面讲述的SQL、数据结构、编程语言的学习路线,掌握了这些基础语言的学习,后续就是学习大数据相关理论,分而治之的算法,MapReduce、HDFS文件存储以及Hive、Hbase、Spark等数据存储和计算技术,同时如果能掌握一些数据挖掘算法相关知识,便于后续对于大数据开发更加有效,大家可以参考如下学习路线进行学习



上面只是简单介绍了下大数据的学习路线,如果大家对于大数据和数据分析感兴趣的话,可以看看【知乎知学堂】的数据分析训练营,我这边自己也看过,内容非常不错,对于数据分析入门和开发都是非常有作用的,建议大家去学习一下,而且只需要0.1元

<a data-draft-node="block" data-draft-type="edu-card" data-edu-card-id="1674867616022462464">
总结
前文我们看到了数据不仅能从事的行业非常多,而且在国家在进行数字化改造的浪潮中,也有非常多的机会能够让我们参与进来,因此掌握数据分析、数据挖掘的技能能够帮助我们求职,而且也能对我们个人的提升也是非常有利的。
tiancaishaonian 发表于 2023-10-4 18:59:46|来自:中国 | 显示全部楼层
最近几年,大数据已经成为炙手可热的行业,很多企业都在进行大数据的研究和应用。大数据分析和挖掘就是对大数据进行研究和应用,从而从中提取出有价值的信息。对于从事大数据分析和挖掘领域工作的开发者来说,掌握一些常用编程语言很有必要。由于在大数据分析过程中会使用到各种各样的语言,所以每种语言都有它自己独特的优势和劣势。了解每种语言所能处理复杂任务还是简单任务,能够更好地把握学习该语言需要注意哪些方面,并根据实际需求选择合适的语言。
本文将从应用最广、开发者最常用等方面来介绍各编程语言在大数据分析和挖掘领域中所能发挥的作用。
1. Python

Python是一种使用很广泛的语言,主要用来进行大数据分析和挖掘。很多人将 Python作为大数据分析和挖掘的首选编程语言,主要原因是它的简单易学、功能强大以及支持并行处理。
Python可以处理各种数据,包括文本、数字、图像、音频和视频数据等。对于多变量函数来说,使用 Python可以比其他语言更容易进行优化。
虽然它非常简单和实用,但它也有自己的缺陷。比如它是一种顺序结构编程语言,不支持函数式编程;面向对象的语法也不利于编写更复杂的应用程序; Python文件的存储方式不是很直观;此外Python需要学习掌握C和 Java语言才能完成复杂任务。
总的来说, Python的优势在于简单易学、功能强大、语法简单清晰、支持并行处理以及高度可扩展性。
除了一些大数据分析和挖掘之外,其实我们日常生活中也可以经常用到 Python,比如人脸识别系统、自动化的健康监测系统等。另外通过编写代码还可以实现对数据进行分析、挖掘,也可以进行 Web开发等操作。
总而言之,学习 Python可以为开发人员带来很大优势:更快、更简单。但对于大数据分析和挖掘来说,仅仅掌握这门语言还不够,还需要对数据进行进一步处理:例如需要用到深度学习来获得高质量算法模型等。
除了这些之外,编程语言本身的学习难度也比较大,所以还是建议大家尽量选择一些工具类的语言进行学习。
2. R

R (Reference Language)是一种针对统计学和计算机科学的编程语言,是用于对数据进行处理、分析、建模的高级语言,它也是在数据处理领域中最重要的语言之一。
R在大数据分析和挖掘领域中应用非常广泛,例如用于市场营销、投资管理以及医疗研究等方面。随着计算机技术的飞速发展,数据量变得越来越大,对处理速度要求也越来越高。R作为一种专门为解决这些问题而设计的编程语言,满足了这些需求。R使用C语言作为基础语言,通过一系列工具(例如包、库和插件)来完成数据处理任务。R还支持高效的迭代求解算法(如迭代收缩与选择),以及并行运算(如多核处理器)。
R也支持 MapReduce等分布式计算技术。由于其语法和语义与C和C++相似,而且提供了更好的图形界面,使得R成为大数据分析和挖掘领域的有力工具。
目前R已经成为流行编程语言中最受欢迎的语言之一。在一些企业中,也使用R作为其系统分析工具来运行数据分析工作流、建立报表、绘制图表以及进行相关文本写作等任务。因此从这个意义上说,掌握一门编程语言对于数据分析人员来说是非常重要的。
目前国内R使用最多的是 Hadoop框架下用 Python实现的分析系统
3. Java

Java是一种非常流行的编程语言,很多人都喜欢用它来开发应用程序。Java已经成为了一种强大的平台,由于其跨平台特性和简单易用的特点,它也成为了大数据分析和挖掘领域最常用的编程语言之一。
虽然 Java是一种很好的语言,但由于其多线程、安全和可移植性等缺点,因此在大数据分析和挖掘领域更适用于简单任务。另外, Java需要很强的网络通信能力才能发挥它最大的作用,对于复杂任务来说有一定的难度。
以上就是大数据分析/挖掘领域常用编程语言和它们各自所适合处理任务类型。
Java具有更简单、更轻量级以及较强网络通信能力等特点;而 Python和 Scala则是目前用于大数据分析/挖掘领域最流行、也是比较简单的两种语言。
4. C++/C#

C++是一种面向对象的高级语言,它有多种用途,其中最常用的是用来编写网络应用程序、分布式应用程序和并行计算系统。它还可以用作其他应用程序的接口。
在大数据分析和挖掘领域中,C++/C#通常用于开发云计算平台。通过将C++/C#代码编译成机器码,使用云计算平台执行相同的计算任务。由于C++/C#语言简单易用且安全性高,因此它们在大数据分析和挖掘领域的应用非常广泛。
在云服务中,C++/C#具有比其他语言更快、更高效率、更好的扩展性和安全性。这是因为,通过云服务使用和运行不同类型的计算任务时,可以根据需要对程序进行细粒度设计,而不是只关心简单的程序逻辑。因此,云服务平台通常具有较低的通信开销或内存开销以优化性能;同时也可以使用更安全且高效的方式来保证数据安全。
除了云计算之外,物联网也是大数据分析和挖掘领域中的另一个热门应用场景。物联网设备通常运行在嵌入式系统中,并且通常包含非常敏感的数据(如位置和温度)及用户个人信息等私人信息。为了保证在使用这些设备时数据安全且不被泄漏或滥用,这就需要一种特殊类型的编程语言来保证安全地在这些设备上运行数据并让用户放心使用这些数据。
为了实现这一目的,采用C++/C#语言编写代码是非常必要且理想的方法之一。其主要优势在于它易于实现、编程效率高、支持多处理器、安全性高及可扩展性强等方面,这些特性对于大数据分析和挖掘领域而言非常适用。
5. SQL

SQL是一种使用计算机语言来建立和执行查询的方式。SQL是一种标准的,易用且功能强大的编程语言,适合创建应用程序。该语言由美国 SQL公司开发。
尽管在数据分析和挖掘方面使用得很广泛,但是与其他编程语言相比,它并没有太大的优势。这是因为它要求较高的计算机技能、需要更多时间来熟悉所需的编程语言。SQL不能在线处理复杂算法。虽然 SQL很容易学习,但如果你没有足够的时间来研究它或者使用它,你可能会觉得很难学习它。虽然目前并没有用于分析和挖掘任务的所有语言,但基于数据分析和挖掘经常涉及到大量数据处理工作,因此了解其他类型语言(例如R、 Python和 Java)可帮助您更快地学习 SQL并适应您的工作要求。
蓝色人类 发表于 2023-10-4 18:59:59|来自:中国 | 显示全部楼层
首选Python。
Python强大的库可以满足大数据的需要,可以用很少的代码来执行程序,快速关联和识别数据类型,短时间内处理复杂的任务。
一、为什么选Python?

- 简单易学

Python相对其他编程语言,可以用更少的代码解决问题。。Python结合了用户友好的功能,例如代码可读性,简单的语法,自动识别和数据类型关联以及易于实现。
- 支持多个库

大量Python库可用于数据分析、可视化、数值计算和机器学习,方便易用。
Pandas:用于分析和处理数据的免费软件库。提供多种数据结构来操作数据。Pandas 还支持在不同数据格式和内存数据结构之间读写数据的工具。
Numpy:用于计算数组和多维矩阵的免费软件库。提供高级数学函数来处理具有随机数运算、傅立叶变换、线性代数等的数据。
Scikit-learn:用于与回归、分类和聚类相关的机器学习的免费软件库。
SciPy:数据科学计算和技术计算的首选库。允许使用特殊功能进行数据集成、插值、优化和修改。
- 高度兼容Hadoop

Python 和 Hadoop 都是开源大数据平台,这就是为什么 Python 与 Hadoop 的兼容性比任何其他编程语言都更安全的原因。开发人员更喜欢将 Python 与 Hadoop 结合使用,由于其对库的广泛支持。此外,Python 有 PyDoop 包,为 Hadoop 提供了出色的支持。
- 可扩展性

处理海量数据时,可伸缩性非常重要。与R,MatLab或Stata等其他数据科学语言不同,Python的速度要快得多。尽管它速度一直被诟病,但是使用Anaconda时,其速度性能有了很大提高。这使得Python和大数据能够以更大的灵活性相互兼容。
二、大数据开发技能要求

大数据发岗位一般来说对code能力有要求,需要具备一定编程语言能力,其次就是解决问题的能力,要求能快速定位并解决问题。

  • 数据库开发:RDBMS、NoSQL、MySQL、Hive等;
  • 数据流工具开发:Flume、Heka、Fluentd、Kafka、ZMQ等;
  • 数据前端开发:HightCharts、ECharts、JavaScript、D3、HTML5、CSS3等;
  • 数据获取开发:爬虫、分词、自然语言学习、文本分类等。
三、Python+大数据全套资源

黑马程序员Python:2022年Python+大数据学习路线图
阶段时长主要内容
Python基础编程8天Python基础语法、Python数据处理、函数、文件读写、异常处理、模块和包
Python编程进阶10天面向对象、网络编程、多任务编程、高级语法
SQL基础6天MySQL与SQL、Kettle与BI工具使用、Pymysql
大数据Hadoop技术栈11天Linux、大数据基础、Zookeeper、HDFS、MapReduce、YARN、Hive基础、Hive高阶
Spark技术栈9天Pandas基础、Pandas数据处理实战、Spark基础、Spark Core、Spark SQL
NoSQL&消息中心6天万亿级NoSQL海量数据存储、Flume实时数据采集、分布式流处理平台、Spark Structured Streaming
Flink技术栈6天Flink Core、Flink DataStream、Flink SQL、Flink Runtime、Flink高级
进阶学习内容:


  • 阶段一:大数据开发入门:从传统关系型数据库入手,掌握数据迁移工具、BI数据可视化工具、SQL,对后续学习打下坚实基础。
  • 阶段二:大数据核心基础:学习Linux、Hadoop、Hive,掌握大数据基础技术,满足大数据开发行业的初级需求,可以从事ETL及Hive数仓工程师。
  • 阶段三:千亿级数据仓库:本阶段课程以真实项目为驱动,学习离线数仓技术,学员可轻松应对高级数仓工程师、中级大数据工程师的岗位。
  • 阶段四:PB级内存计算:Spark官方已经在自己首页中将Python作为第一语言,在3.2版本的更新中,高亮提示内置捆绑Pandas;课程完全顺应技术社区和招聘岗位需求的趋势,加入Python on Spark的内容;你将胜任Spark开发工程师、中级大数据工程师。
  • 阶段五:亚秒级实时计算:本阶段你将掌握时下火热的大数据实时计算技术,Flink开发工程师、高级大数据工程师唾手可得。
  • 阶段六:大厂面试:围绕大厂高频面试题,针对数据结构与算法、SQL、数据仓库、内存计算、实时计算,以及大数据架构做专项的提升。
四、书籍与官方文档

大数据的书籍选择?

  • MySQL:MySQL 5.7 Reference Manual
  • Hadoop:Hadoop Cluster Setup
  • Spark:RDD Programming Guide
  • Hive:LanguageManual - Apache Hive - Apache Software Foundation
  • Flink:Stateful Computations over Data Streams
  • Hbase:https://hbase.apache.org/book.html#_preface
  • Sqoop:https://sqoop.apache.org/docs/1
lnfsmnb 发表于 2023-10-4 19:00:08|来自:中国 | 显示全部楼层
数据挖掘,Python不二选择,如果数据体量相当庞大,用java
photoshoplxy 发表于 2023-10-4 19:00:46|来自:中国 | 显示全部楼层
每个产业都有如洪水般倾泻的信息,面对上万笔的顾客浏览纪录、购买行为数据,如果要用 Excel 来进行数据处理真是太不切实际了,Excel 相较于其他统计软件的功能已相去甚远;下面几个程序应该要有一定的认识
R语言 的好处在于它简单易上手;
Python 结合了 R 的快速、处理复杂数据采矿的能力以及更务实的语言等各个特质,迅速地成为主流,Python 比起 R,学起来更加简单也更直观,而且它的生态系统近几年来不可思议地快速成长,在统计分析上比起 R 功能更强。
今日大多数的数据科学都是透过 R、Python、Java、Matlab 及 SAS 为主,但仍然存在着鸿沟要去弥补,而这个时候,新进者 Julia 看到了这个痛点。 Julia 是个高阶、不可思议的快速和善于表达的语言,比起 R 要快的许多,比起 Python 又有潜力处理更具规模的数据,也很容易上手。
Java 没有和 R 和 Python 一样好的可视化功能,它也不是统计建模的最佳工具,但是如果你需要建立一个庞大的系统、使用过去的原型,那 Java 通常会是你最基的选择。
Scala
又是另一个以 Java 为基础的语言,和 Java 很像,对任何想要进行大规模的机械学习或是建立高阶的算法,Scala 会是逐渐兴起的工具。它是善于呈现且拥有建立可靠系统的能力。
Matlab
Matlab 可以说是历久不衰,即使它标价很高;在非常特定的利基市场它使用的相当广泛,包括密集的研究机器学习、信号处理、图像辨识等等。
ethink大数据一站式平台 http://www.ethinkbi.com

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则