前言:工欲善其事,必先利其器。倘若不懂得构建一套大数据挖掘环境,何来谈Data Mining!何来领悟“Data Mining Engineer”中的工程二字!也仅仅是在做数据分析相关的事罢了!此文来自于笔者在实践项目开发中的记录,真心希望日后成为所有进入大数据领域挖掘工程师们的良心参考资料。下面是它的一些说明:

  • 它是部署在Windows环境,在项目的实践开发过程中,你将通过它去完成与集群的交互,测试和发布;
  • 你可以部署成使用MapReduce框架,而本文主要优先采用Spark版本;
  • 于你而言,它更多意义在于提高你在个人主机上进行业务场景建模的效率,方便你对算法模型进行测试和优化,以及打包、提交任务。
  • 于我而言,网络上各种鱼龙混杂的资料,一方面是内容误导新人,更缺乏资源整合,一方面仅仅是搬运工,缺乏实践项目中的开发经验,有头无尾。这更是这篇文章的初衷。
 

说完上面这些杂七杂八的伏笔,下文我将深入仔细去引导你,如何去搭建属于自己Spark版本的Data Mining环境,以及某些环节在实践项目中开发的必要性。

第一步 : Java安装和配置(1.7或者1.8)

  • 理由:这是必须要去部署的环境,不解释。不过注意区分版本、以及个人主机是32位还是64位;
  • 下载:本文提供1.8版本的下载 ,其中32位下载64位下载
  • 安装配置:
    • 1.【安装】:点击软件进行安装,按照引导步骤,并指定安装目录(个人喜爱),本文选择默认安装路径;

       

      jdk安装路径

    • 2.【配置】:配置环境变量JAVA_HOME和路径PATH,选择我的电脑>系统属性>高级系统设置>环境变量;

      环境变量设置

      a.新建JAVA_HOME,为C:\Program Files\Java\jdk1.8.0_20。
      b.新建CLASSPATH,为“.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;”
      c.编辑Path,添加“;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin”

考虑到有不少读者非软件专业,因此这里没有一笔带过基本的软件安装。最终安装成功的显示如下所示:

成功安装java的显示

第二步 : IDE安装和配置(Eclipse或者Spring Tool Suite)

  • 理由:编写工程代码的集成环境,也就是你写代码的地儿。注意IDE区分版本、以及个人主机是32位还是64位;
  • 下载:本文提供最新STS版本的下载 ,其中32位下载64位下载。也可以使用Eclipse或SBT;
  • 安装配置:
    • 1.将安装包下载放在选定目录,进行解压就可以了,并创建桌面快捷方式,方便以后使用;

STS解压后应用程序

在后期使用IDE时,考虑到个人有代码洁癖,因此,我都推荐先设置好这几点:a.字体大小和类型,b.缩进方式,c.代码行数序号

第三步 : IDE插件的加载

  • 理由:编写MapReduce/Spark工程需要的插件,注意区分hadoop版本。
  • 下载:本文提供hadoop2.6.0版本的插件 ,其中下载地址
  • 安装配置:
    • 1.将Jar包放在STS目录,位置于\sts-bundle\sts-3.8.1.RELEASE\dropins下;

第四步 : Maven的安装配置

  • 理由:开发实践数据挖掘项目,更多采用Maven进行项目管理。
  • 下载:本文提供两个版本的下载 ,其中3.3.3下载3.3.9下载
  • 安装配置:
    • 1.将安装包解压放在指定目录,设置全局变量M2_HOME和添加路径PATH;

MAVEN的全局变量和路径设置

Maven安装成功的显示

第五步 : hadoop包的下载配置

  • 理由:代码执行过程中依赖hadoop的环境,需要单独配置hadoop的执行路径。
  • 下载:本文提供2.6.0版本的下载 ,其中下载地址
  • 安装配置:
    • 1.将安装包解压放在指定目录,设置全局变量HADOOP_HOME和添加路径PATH;

配置hadoop的全局变量和路径

第六步 : hadoop插件的加载配置

  • 理由:代码执行过程中依赖hadoop的JAR插件,需要单独编译或者下载,放置在上述hadoop解压包的bin目录下。
  • 下载:本文提供2.6.0版本的插件下载 ,其中32位64位
  • 安装配置:
    • 1.将安装包解压放在指定目录,将hadoop.dll和winutils.exe放在hadoop的bin目录下就可以了;

将hadoop插件放置于bin目录下

第七步 : spark包的下载配置

  • 理由:代码执行过程中依赖spark的配置环境,需要下载包放置在指定目录,并设置全局变量和路径。
  • 下载:本文提供spark-1.6.2-bin-hadoop2.6版本的插件下载 ,其中下载地址
  • 安装配置:
    • 1.将安装包解压放在指定目录,设置全局变量SPARK_HOME和添加路径PATH;

配置Spark的全局变量和路径

通过上述的安装,可以通过下面的显示来验证是否成功

Spark配置成功的显示

第八步 : scala环境的安装配置

  • 理由:代码执行过程中依赖scala的配置环境,需要安装scala环境,并设置全局变量和路径。
  • 下载:本文提供三个版本的安装包下载 ,其中2.10.12.10.42.11.0
  • 安装配置:
    • 1.将安装包安装在指定目录,设置全局变量SCALA_HOME和添加路径PATH,最终安装成功显示如下;

scala成功安装的显示图

第九步 : scala ide集成插件的加载配置

  • 理由:IDE集成环境执行过程中依赖scala插件的相关JAR包,需要单独下载相应版本的scala
    ide,并将features和plugins目录下的文件都复制到上述STS集成环境下。
  • 下载:本文提供两个版本的包下载 ,其中32位64位
  • 安装配置:
    • 1.将下载包解压,复制features和plugins目录下的文件到\sts-bundle\sts-3.8.1.RELEASE\
      下的同命名文件目录中去;

scala ide集成插件复制到sts指定目录

至此,通过以上9个步骤的下载、安装和配置,一个基于Windows的标配大数据挖掘环境就已经搭建好了。上面这些版本和链接都会在以后日子进行更新迭代,有部署过程中遇到问题的小伙伴,也可以积极将问题和截图发到评论里,一起进行解决。

  • 下面的内容,本文就利用上述所有步骤部署的大数据挖掘环境做一个实践项目开发的流程,后期文章中会更深入引导数据产品中的数据挖掘工程开发。让真正想踏入大数据圈子做数据挖掘的小伙伴们,能够清楚自己目前应该做的事,以及公司级别实践应用的场景。不脱节、不迷茫、不盲目!

Step1:创建MAVEN工程

创建Maven工程中的步骤一

创建Maven工程中的步骤二

Step2:创建工程中的对象

创建Maven工程中的对象

创建成功显示图

Step3:配置好pom.xml文件,下载相关Spark依赖包

修改pom.xml文件,添加工程依赖包坐标

Step4:写一个朴素贝叶斯模型里涉及先验概率计算的逻辑,后期深入的开发等着以后的文章吧!

(点击放大图像)

代码逻辑,让大家看看模样

总结:工欲善其事,必先利其器!这句话里面有两层的逻辑,一方面,你在要踏入大数据挖掘领域的同时,应该要学会部署一套上述这样的环境,因为它对于你的模型工程开发、集群任务提交、数据产品项目开发、甚至是以后的模型优化重构,都是至关重要!一方面,我希望真正想学习大数据挖掘的小伙伴们,要走一个正确的方向,真正理解大数据生态圈的特点,要致力于为数据产品提供源源不断的大数据挖掘体系而奋斗。

出处:http://www.infoq.com/cn/articles/datamining-spark-env

搭建Data Mining环境(Spark版本)的更多相关文章

  1. 做Data Mining,其实大部分时间都花在清洗数据

    做Data Mining,其实大部分时间都花在清洗数据 时间 2016-12-12 18:45:50  51CTO 原文  http://bigdata.51cto.com/art/201612/52 ...

  2. 分布式计算框架-Spark(spark环境搭建、生态环境、运行架构)

    Spark涉及的几个概念:RDD:Resilient Distributed Dataset(弹性分布数据集).DAG:Direct Acyclic Graph(有向无环图).SparkContext ...

  3. 通过IDEA搭建scala开发环境开发spark应用程序

    一.idea社区版安装scala插件 因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安装scala插件,具体安装办法如下. 1.打开idea,点击c ...

  4. IDEA搭建scala开发环境开发spark应用程序

    通过IDEA搭建scala开发环境开发spark应用程序   一.idea社区版安装scala插件 因为idea默认不支持scala开发环境,所以当需要使用idea搭建scala开发环境时,首先需要安 ...

  5. 搭建单机CDH环境,并更新spark环境

    搭建单机CDH环境,并更新spark环境 1,安装VMWare Player,http://dlsw.baidu.com/sw-search-sp/soft/90/13927/VMware_playe ...

  6. 【原创】Windows平台搭建Kafka源代码开发环境(Eclipse版本)

    最近在研究Kafka源代码,需要自己搭建一个开发环境.官网上给出的提示略显简单,照着做了一遍也碰到了一些问题.特此记录下来. 开发环境: Oracle Java 1.7_u71 + Eclipse 4 ...

  7. SpringData系列一 Spring Data的环境搭建

    本节作为主要讲解Spring Data的环境搭建 JPA Spring Data :致力于减少数据访问层(DAO)的开发量.开发者唯一要做的就是声明持久层的接口,其他都交给Spring Data JP ...

  8. hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装

    hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装 一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh ...

  9. Spring Data MongoDB 环境搭建

    一.开发环境 spring版本:4.0.6.RELEASE spring-data-mongodb版本:1.4.1.RELEASE junit版本 4.11 maven版本:3.0.5 二.pom.x ...

随机推荐

  1. 50个必备的jQuery代码段

    本文会给你们展示50个jquery代码片段,这些代码能够给你的javascript项目提供帮助.其中的一些代码段是从jQuery1.4.2才开始支持的做法,另一些则是真正有用的函数或方法,他们能够帮助 ...

  2. unobtrusive验证,ajax局部加载后验证失效解决方法

    页面加载后运行此代码 $(function() {$.validator.unobtrusive.parse($("form")); }); 原因: 页面加载后unobtrusiv ...

  3. 一些C/C++中的函数

    项目中使用到的C/C++中的一些函数,记录下来加以理解和掌握. 1.memset( ) memset是计算机中C/C++语言函数.将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASC ...

  4. ArcGIS for Android 中实现要素绘制时固定MapView

    最近在项目中遇到这么一个情况,在MapView中要求实现绘制点.线.面. 在这里面就会遇到这么一个问题,绘制折线和多边形型时,每点击一个点屏幕就会跟着晃,使用起来很不方便(使用Note2 触控笔),所 ...

  5. N 叉树的层序遍历

    给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 100 ...

  6. mac 查看python安装路径

    1.terminal : input: which Python 2.terminal: input : python  --->import sys  ----> print sys.p ...

  7. JW Player 6.7(网页视频播放器,可在手机中播放),自定义Logo和右键菜单链接,支持MP3、MP4、FLV等格式,支持通过HTML5、FLash播放

    原版下载地址:http://www.jwplayer.com/ JW Player是世界上最流行的网页影音播放器,支持的视频格式主要有:MP4.FLV.F4V等格式,支持的音频格式主要有:MP3.AA ...

  8. jquery UI_tabs

    1.tab使用 <!doctype html> <html lang="en"> <head> <meta charset="u ...

  9. 集成Ehcache用来缓存表以后,怎么设置缓存刷新时间

    问答 集成Ehcache用来缓存表以后,怎么设置缓存刷新时间  发布于 217天前  作者 老司机  93 次浏览  复制  上一个帖子  下一个帖子  标签: 无 集成Ehcache用来缓存表以后, ...

  10. UVA 11600 Masud Rana(概率dp)

    当两个城市之间有安全的道路的时候,他们是互相可到达的,这种关系满足自反.对称和传递性, 因此是一个等价关系,在图论中就对应一个连通块. 在一个连通块中,当前点是那个并不影响往其他连通块的点连边,因此只 ...