1.å¦ä¹ javaåï¼å¯ä»¥ä»äºä¸äºä»ä¹èä¸ï¼ä»¥åè¿äºèä¸å
·ä½åäºä»ä¹ã
2.Python大数据好学吗?
3.大数据都需要学什么?
4.数据挖掘需要哪些技能?
5.数据挖掘主要涉及到哪些方面的知识?
å¦ä¹ javaåï¼å¯ä»¥ä»äºä¸äºä»ä¹èä¸ï¼ä»¥åè¿äºèä¸å ·ä½åäºä»ä¹ã
ç¸å ³é 读ï¼é¶åºç¡å¦ä¹ ç¼ç¨åºè¯¥éæ©ä»ä¹æ ·çæ¹åæ¥æ·±å ¥å¦ä¹
1ãITææ¯æ¹ååå
é¦å æ¯ITææ¯æ¹åï¼æè§å¾è¿æ ·ååæ´åçä¸ç¹ï¼ç§»å¨å¼åæ¹åãåå°æ¹åã游æå¼åæ¹åãç®æ³/ç 究æ¹åã
å 为äºèç½è¡ä¸å端æå¡å¨ä¸è¬é½æ¯Linuxï¼æ以webåå°å¼ååLinuxæå¡å¨å¼åå¯è§ä¸ºæ¯ä¸ä¸ªæ¹å(é¤éä½ æçLinuxæå¡å¨å¼åæ¯ç³»ç»æ¶æå¸ï¼ä¸è¿é£æ¯è¿ç»´çå·¥ä½ï¼åºè¯¥ä¸ç®åå¼åå§)ã
è¿æå°±æ¯æ¸¸æå¼å以C++为主å´ä¸ä» éäºC++ï¼è½ç¶å¾å¤å¤§å游æé½æ¯C++å¼åçï¼æ¯å¦ç°å¨çæ游ä¹æAndroidãIOSçå¼åçï¼è¿æäºæ¸¸æå¼åä¼ç¨æ°çææ¯(å¦æ¯è¾æåçUnityï¼å¯è½å¨å¤§å¦é½è¿æ¥è§¦ä¸å°)ãæ°æ®åºåºæ¬ä¸é½æ¯æ¶æå¸åç¨åºåä¸èµ·ç设计çã
2ãITè¡ä¸çåå±è¶å¿
移å¨ç«¯(ææºæä½ç³»ç»)æ¯ä¸ä¸ªååæå¿«çé¢åï¼ä¹åå¨å¾å¤§çåæ°ãå¹´ä¹åï¼å¨è¯ºåºäºé£é¡å ¨ççæ¶åï¼ä½ ä¼æ³å°Androidæç°å¨è¿ä¹å¤§çåæ¯è¿ä¹å¤çç¨æ·éå?å¹´å¼å§(å ¶å®å¹´å°±å¼å§é é ¿äº)ï¼Androidè¿ éå´èµ·ï¼åå±å¼å¸¸çå¶çï¼å°å¹´å ä¹äººæä¸å°Android设å¤äºï¼ä¸æ¤åæ¶è¯ºåºäºå´ä¸è·¯ä¸æ»ï¼ç´è³è·å°ä½è°·åä¹ç¬ä¸èµ·æ¥çï¼åæ¥æå ¥å¾®è½¯çææ±ä¹åå±çä¸å¤ªé¡ºå©ï¼å·²ç»æ¯å¤§å¿å·²å»ãèè¹æä»å¹´ç¬¬ä¸ä»£iPhoneè¯ççæ¶åå¼å§ï¼èµ°çå°±æ¯é«å¤§ä¸ç路线ï¼ä¸»è¦é对çæ¯é«ç«¯äººç¾¤ï¼ä»·æ ¼æ¯ææææºä¸æé«çï¼ä½ææ¯ä¹æ¯æçé¼çï¼ä½éªæ¯æå好çï¼ä»¥è³äºæ¯ä¸æ¬¡çåå¸ä¼æéç人é½æµå°ç!
äºèç½æ认为ITé¢åæªæ¥çåå±æ¹åï¼ä»å®ä½æ¹é¢æ¥çä¸å®æ¯æºè½è®¾å¤åç©èç½ï¼ä»é¢åæ¥çä¸å®æ¯äºèç½+ï¼æªæ¥çç½ç»å°ä¼è¶æ¥è¶æºè½ã
äºèç½æ¯ç½ç»ä¸ç½ç»ï¼ç½ç»ä¸äººçè¿æ¥;èç©èç½å°±æ¯ç©ä½ä¸ç½ç»ï¼äººä¸ç½ç»çè¿æ¥ãé¿éå·´å·´çæèµäººåæ£ä¹å¨äºèç½å¤§ä¼ä¸è¯´è¿ï¼âä»å¤©æ¯ä¸ªäººå¤§æ¦ä¼æ两个移å¨è®¾å¤ï¼å¹´çæ¶åï¼æ¯ä¸ªäººè¿æ¥ç设å¤çæ°éä¼è¾¾å°ä¸å个âãæªæ¥å°ä¼æ¯å¨å´é½æ¯ç©ä½ï¼èç©ä½é½ä¸ç½ç»è¿æ¥ï¼ä¹å°±æ¯å¨å´é½æ¯ç©ä½ï¼å¨å´é½æ¯ç½ç»ãèä¸ç©ä½å°ä¼è¶æ¥è¶æºè½ï¼æºè½å®¶å± åºè¯¥ä¼åå±èµ·æ¥ï¼æ¯å¦ä½ ä¸å家ï¼ç©ºè°å°±å¼äºï¼çµç¯å°±äº®äº;ä¸åºé¨ç©ºè°åçµç¯å°±å ³äºï¼è¿æéä½ ä»å¤©ç天æ°ç¶åµâ¦â¦ ç°å¨å·²ç»æå¾å¤ç©èç½æ ¢æ ¢åå±èµ·æ¥äºã
游æææ¬äººä¸æä¹ç©æ¸¸æï¼å¯¹æ¸¸æä¸å¤ªäºè§£!ä½ä»æ´ä¸ªç¤¾ä¼åå±æ¥çï¼ä¸çå¨ä¸æåå±ï¼ä¸å½ä¹æ¥ç强大ï¼éçç»æµæ°´å¹³çä¸ææé«ï¼äººä»¬ææ´å¤çæ¶é´ç¨æ¥æ é²å¨±ä¹ï¼ä¹ææ´å¥½çç©è´¨åºç¡ãå¨è¿ç§è¶å¿ä¸ï¼ç©æ¸¸æç人åºè¯¥ä¼è¶æ¥è¶å¤ï¼æ¸¸æè¡ä¸åºè¯¥ä¼è¶æ¥è¶æ¯æ°ã
3ãææ¯æ¹åçåæ¯
æ ¹æ®ä»¥ä¸çåæï¼äºèç½å°ä¼åºç¨çè¶æ¥è¶å¹¿æ³ï¼webå端ãwebåå°æ¹é¢ã移å¨å¼åç人æå¨æªæ¥çä¸äºå¹´å åºè¯¥é½æ¯ç´§éç人æãéç大æ°æ®æ¶ä»£çå°æ¥ï¼ç®æ³/ç 究æ¹åçé«ç«¯äººæå°åå¾å为紧缺ã
4ãææ¯çå¦ä¹
ææ¾ç»åè¿é¿éåç¾åº¦çæ ¡æç¬è¯é¢ï¼Javaç åå·¥ç¨å¸çç¬è¯é¢è¦æ±ç计ç®æºè¯è¨ä¸»è¦ä»¥Java为主ï¼ä¼æå°éçC++é¢ï¼ç¨åºè®¾è®¡çé¢ç®ä¸è¬å¯ä»¥å¨JavaãC++çè¯è¨ä¸ä»»éä¸ç§ãé¢ç®çç±»åçè¯ï¼ä½ æå°çæ°æ®ç»æä¸ç®æ³ãæ°æ®åºãæä½ç³»ç»ã计ç®æºç½ç»çé½ä¼æãç®æ³å·¥ç¨å¸èä½çç¬è¯é¢è¯è¨ä¸»è¦ä»¥C++为主ï¼ç±»åä¼æä»ä¹KNNåãé马å°å¯å¤«åãæçè·ç¦»çå¾é¾çç®æ³ã
Javaçç¬è¯é¢ä¼æé¨åC++çé¢ç®ï¼ææ³å¯è½æ¯æè¿ä¹ä¸¤ä¸ªåå å§ï¼
èæ¥ä½ çå¦ä¹ æ度æ¯å¦è®¤çåªåï¼å 为C++æ¯å ä¹æ¯ææ大å¦é计ç®æºç¸å ³ä¸ä¸å¦ççå¿ é课;
èæ¥ä½ 对计ç®æºè¯è¨åºå±çä¸äºè®¤è¯ï¼å¯¹åºç¡çææ¡ç¨åº¦ï¼æ¯å¦ï¼å¦æä½ çæC++ï¼å°±ä¼ç¥éæ°ç»å¨å åä¸å ¶å®å°±æ¯ä¸åè¿ç»çå å段ã
å¦æä½ æ³åJavaåå°å¼åçè¯ï¼å°±ä»¥Java webææ¯çå¦ä¹ 为主ï¼C++åºç¡è¿æ¯æå¿ è¦ææ¡çã
5ãæ¹åçéæ©
è³äºææ¯æ¹åçéæ©ï¼æè§å¾ä¸ç®¡åä»ä¹éæ©ï¼é½åºè¯¥ä»¥å ´è¶£ä¸ºä¸»ï¼è·çèªå·±çå¿èµ°!è¿æ ·æä¸ä¼çä¸éæ¾ãè¿æ ·è¿æ æ³ååºéæ©çè¯ï¼å°±è·çç´è§èµ°å§! æè§å¾å¨å¯¹äºä»¶ä¸æ æç¥çæ åµä¸ï¼ç´è§æ¯0.5èªææè¯+0.5天æ
Python大数据好学吗?
本人学习大数据时间不久,2年左右吧,只能从个人经验给你一点建议,希望你少走一点弯路。
首先,你说到你刚接触大数据,mp4源码批量转换m3u8源码你要明白大数据范围超级广,你具体想要学习哪个方向呢?数据挖掘?还是机器学习深度学习?亦或nlp(自然语言处理)?(我主要学数据挖掘,呜啦啦啦)
我给所有问我大数据该怎么入门的人都会有如下建议:学好数学!学好数学!学好数学!重要的事说三遍,不然你怎么理解各种模型的构建?所以从理解算法开始,什么svn啦,knn啦,k means啦,总之各种聚类分类的算法,把它搞懂,绝对有用。
扯远了,不好意思…言归正传,回到语言的选择问题。java和python这两个语言,signature的源码我给你从这几个方面解释一下:
1. python是脚本语言,无需编译,java则是需要编译的语言
2. 我在letitcode(大概是这么拼)上测试过好多次,同一个功能的程序竟然是java性能好很多
3. 平时我们做项目,都是用python写个demo去测试,真正发行的版本,是用java写的
4. 许多大数据平台(如spark),都提供多种语言的接口,所以你不用担心学一种语言没处用的问题
看到了吧?python和java的地位差别在企业中就是一个低一个高,氮素!以我个人的观点来看,我还是建议你先学python。
为啥腻?我可不是要坑你,而是因为:
1. 很多java中几行的代码,python中一行就搞定,学会了python,还怕学不会java?
2. python上手快,简洁事儿少
3. (个人经验)我学数据挖掘入门是用的scikit-learn(一个python库),当时用的超爽的好吧!几分钟搞个模型出来。当然现在看来那不算什么啦,可当时真的魔塔游戏源码体验很好,特有成就感。相反拿java写程序我就各种别扭,总觉得啰嗦得很
4. 其实,我觉得scala更适合大数据…linkedin后台好像就是它写的,但是我觉得scala难,再加上种种原因,一直没来得及学
以上就是我的看法。
最后给你推荐个小工具:jupyter notebook,一个在线交互式编译器,不但支持python在线编译,还支持matplotlib及各种绘图库哦!在你前期做数据清洗和特征提取的时候很有用。
大数据都需要学什么?
首先我们要了解Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。大数据
Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据基础。
Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的爬虫源码下载理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。
Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。
Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的eclips添加源码run起来就可以了。
Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。
Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。
Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。
Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。
Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。
Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。
Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。
数据挖掘需要哪些技能?
需要学习工程能力和算法能力。
工程能力:
( 1 )编程基础:需要掌握一大一小两门语言,大的指 C++ 或者 Java ,小的指Python 或者 shell 脚本;需要掌握基本的数据库语言。
( 2 )开发平台: Linux ;建议:掌握常见的命令,掌握 Linux 下的源码编译原理。
( 3 )数据结构与算法分析基础:掌握常见的数据结构以及操作。
算法能力:
( 1 )数学基础:概率论,数理统计,线性代数,随机过程,最优化理论。
( 2 )机器学习 / 深度学习:掌握 常见的机器学习模型(线性回归,逻辑回归, SVM ,感知机;决策树,随机森林, GBDT , XGBoost ;贝叶斯, KNN , K-means , EM 等)。
关于数据挖掘的相关学习,推荐CDA数据师的相关课程,课程以项目调动学员数据挖掘实用能力的场景式教学为主,在讲师设计的业务场景下由讲师不断提出业务问题,再由学员循序渐进思考并操作解决问题的过程中,帮助学员掌握真正过硬的解决业务问题的数据挖掘能力
数据挖掘主要涉及到哪些方面的知识?
1. 工程能力
( 1 )编程基础:需要掌握一大一小两门语言,大的指 C++ 或者 Java ,小的指Python 或者 shell 脚本;需要掌握基本的数据库语言;
建议:MySQL + python + C++ ;语言只是一种工具,看看语法就好;
推荐书籍:《C++ primer plus 》
( 2 )开发平台: Linux ;
建议:掌握常见的命令,掌握 Linux 下的源码编译原理;
推荐书籍:《Linux 私房菜》
( 3 )数据结构与算法分析基础:掌握常见的数据结构以及操作(线性表,队,列,字符串,树,图等),掌握常见的计算机算法(排序算法,查找算法,动态规划,递归等);
建议:多敲代码,多刷题;
推荐书籍:《大话数据结构》《剑指 offer 》
( 4 )海量数据处理平台: Hadoop ( mr 计算模型,java 开发)或者 Spark ( rdd 计算模型, scala开发),重点推荐后者;
建议:主要是会使用,有精力的话可以看看源码了解集群调度机制之类的;
推荐书籍:《大数据 spark 企业级实战》
2. 算法能力
( 1 )数学基础:概率论,数理统计,线性代数,随机过程,最优化理论
建议:这些是必须要了解的,即使没法做到基础扎实,起码也要掌握每门学科的理论体系,涉及到相应知识点时通过查阅资料可以做到无障碍理解;
( 2 )机器学习 / 深度学习:掌握 常见的机器学习模型(线性回归,逻辑回归, SVM ,感知机;决策树,随机森林, GBDT , XGBoost ;贝叶斯, KNN , K-means , EM 等);掌握常见的机器学习理论(过拟合问题,交叉验证问题,模型选择问题,模型融合问题等);掌握常见的深度学习模型( CNN ,RNN 等);
建议:这里的掌握指的是能够熟悉推导公式并能知道模型的适用场景;
推荐书籍:《统计学习方法》《机器学习》《机器学习实战》《 UFLDL 》
( 3 )自然语言处理:掌握常见的方法( tf-idf , word2vec ,LDA );
3. 业务经验
( 1 )了解推荐以及计算广告相关知识;
推荐书籍:《推荐系统实践》《计算广告》
( 2 )通过参加数据挖掘竞赛熟悉相关业务场景,常见的比赛有 Kaggle ,阿里天池, datacastle 等。