把你从写繁琐的Map-reduce Job中解放出来,写分布式跟写本地程序没两样,Scalding真真代表着先进生产力的方向啊

心动不如行动,赶紧装一个吧

1 安装JDK

2 安装Homebrew

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

brew update
brew doctor

方法1:

https://github.com/twitter/scalding/wiki/Scala-and-sbt-for-Homebrew-users

方法2:

3 安装sbt
brew install sbt 

4 下载Scala 2.10

http://www.scala-lang.org/download/install.html

解压到 /usr/local/share目录下,重命名为scala

vi ~/.bash_profile

export SCALA_HOME=/usr/local/share/scala
export PATH=$PATH:$SCALA_HOME/bin

source ~/.bash_profile 

然后再任意一个目录下都可以使用scala命令啦~\(≧▽≦)/~好了

scala> :quit

5 将Scalding源代码从git上弄下来

git clone https://github.com/twitter/scalding.git 
查看源代码目录下的project/Build.scala中的scalaVersion,发现默认是支持Scala 2.9.3的,更改project/Build.scala的line17为
scalaVersion := "2.10.3",
 
  vi scripts/scald.rb

将将line153的java改成scala

下面这步可选,反正我没有成功

 ln -s scripts/scald.rb $HOME/bin/ 

可以在.bash_profile中设置一下

export SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M"

不然下面的过程可能会遇到OutOfMemoryError

Q) What happens if I get OutOfMemoryErrors when running "sbt assembly"?
A) Create ~/.sbtconfig with these options: SBT_OPTS="-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M"

下面可能是个十分之漫长的过程,第一次用了很久,第二次用校园网失败了,第三次校园网挂VPN等了一个下午update还没完,要哭了

./sbt update 
#./sbt test # runs the tests; if you do 'sbt assembly' below, these tests, which are long, are repeated
./sbt assembly # creates a fat jar with all dependencies, which is useful when using the scald.rb script
方法3:
如果不需要用Scalding可以按照课程推荐的:

4 安装Scala IDE for Eclipse with the Scala Worksheet

这里下载Scala 2.10.x的Mac OS X Cocoa 64 bit版本

5 打开这个解压后伪装成正常Eclipse的家伙

挥洒下人生中第一个HelloWorld.scala

object HelloWorld extends App { 
println("Hello, World!")
}

或者

object HelloWorld { 
def main(args: Array[String]) {
println("Hello, World!")
}
}
6 添加Vim语法高亮支持
到https://github.com/scala/scala-dist下载工具,复制tool-support/src/vim里"indent", "syntax" and "ftdetect"文件夹到~/.vim目录下,给~/.vimrc加上一行syn on
 
												

Scalding初探之番外篇:Mac OS下的安装的更多相关文章

  1. vue学习【番外篇】vue-cli脚手架的安装

    大家好,我是一叶,今天和大家分享的是vue-cli脚手架的安装,关于vue-cli的优点,我就不赘述了. 一.检查安装node 安装vue-cli之前,先检查node是否安装.win+R,输入cmd打 ...

  2. Mac OS下pip安装 pillow

    sudo pip install pil报错如下:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Develo ...

  3. iOS冰与火之歌(番外篇) - 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权

    iOS冰与火之歌(番外篇) 基于PEGASUS(Trident三叉戟)的OS X 10.11.6本地提权 蒸米@阿里移动安全 0x00 序 这段时间最火的漏洞当属阿联酋的人权活动人士被apt攻击所使用 ...

  4. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  5. 番外篇1:在Windows环境中安装JDK

    他山之石,可以攻玉!欢迎关注我的微信公众号 本文作为构建第一个Java程序的番外篇一,跟大家探讨下在Windows下怎么安装JDK.由于本人没有Mac,因此如果是Mac的同学,请自行百度哦! 读前预览 ...

  6. [uboot] (番外篇)uboot之fdt介绍

    http://blog.csdn.net/ooonebook/article/details/53206623 以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为 ...

  7. 智能家居实践(番外篇)—— 接入 HomeKit 实现用 Siri 控制家电

    转载:智能家居实践(番外篇)—— 接入 HomeKit 实现用 Siri 控制家电 前面我写了一个系列共三篇的智能家居实践,用的是 Amazon Echo 实现语音控制,但是 Amazon Echo ...

  8. [uboot] (番外篇)uboot之fdt介绍 (转)

    以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为例 [uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(B ...

  9. electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint

    我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...

随机推荐

  1. Mysql常用数据类型

    Mysql常用数据类型 数字: 字符串: 时间:

  2. GridControl

    隐藏Drag a column header here to group by that column https://www.devexpress.com/Support/Center/Questi ...

  3. Creating Custom Login Screen In Oracle Forms 10g

    Below is the example plsql unit to validate login credentials and after successful validation open a ...

  4. 无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它

    无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer.Windows服务器管理工具或NET START命令启动它 1. ...

  5. Codeforces Round #262 (Div. 2)

    A #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> ...

  6. 入坑HttpServletRequest.getParameterMap

    在项目开发的时候遇到一个小坑,在发送了异步请求以后,回调的时候传递给我一个参数直接就是HttpServletRequest的请求,下面简称request: 在使用的时候自以为很简单,直接get就好了嘛 ...

  7. 页面加载后resize页面布局

    在我们写web的时候,有的时候页面加载完以后,布局位置有一些问题,手动改变窗口大小后则正常显示位置. 其实,我们手动改变窗口大小,是执行了resize方法. share一下兼容方法: coffee c ...

  8. HBase之show table

    import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import or ...

  9. 【linux】linux下yum安装后Apache、php、mysql默认安装路径

    原文:http://blog.csdn.NET/u010175124/article/details/27322757apache:如果采用RPM包安装,安装路径应在 /etc/httpd目录下apa ...

  10. 在Ubuntu中创建与Windows的共享文件夹

    在Ubuntu中创建与Windows的共享文件夹 本周的学习需要用到一个压缩包,我从QQ群里下载到了Windows里.虽说我已经安装了虚拟机增强功能,能够与Windows系统共享剪切板,但它也只能共享 ...