Spark自带例子研究

在搭建好了Spark集群之后,我们第一步是看例子,example目录下有实例,可以把源代码全部拉到本地查看。

假设我们的master是一台名为"Y40"的机器,我们在集群中任何一台机器上,运行自带的SparkSQLExample,只需要在Spark所在目录下执行

./bin/spark-submit run-example --master spark://Y40:7077 sql.SparkSQLExample

就可以了。

这个例子耗时不长,时间长一点的例子运行情况可以在web ui中查看,这是运行SparkTC时候的截图

看起来很专业的样子。


接着我们开始自己用开发环境来研读例子代码。开发工具推荐使用InteliJ IDEA,手头的版本是社区版2016.3.4。

在插件管理界面点击“Install JetBrains plugin...”(红圈1)进入在线插件安装界面,搜索框(红圈2)里输入“scala”,如果没有安装插件,红圈3出会出现安装的按钮,在线安装完毕之后该按钮会变成重启按钮,点击重启IDEA之后scala安装就会成功了。使用这个工具的好处是自带了sbt,马上我们需要根据sbt来构建应用程序。

在新建工程之前,我们需要下载scala的sdk,这里需要注意scala的版本,必须和服务器端支撑spark的scala版本一致。本次实践scala的版本是2.11,所以我们需要下载2.11版本的scala。

这在IDEA的“Default Project Structure”界面中设置,这个界面有两个地方可以进去,一个是在欢迎界面的左下角,“Configure”的弹出菜单:“Project Defaults”-“Project Structure”,另一个是在主界面主菜单,“File”-"Other Settiings"-"Default Project Structure"。进到这个界面首先点左侧“Global Libraries”,然后点左二列的“+”,弹出菜单中选择“scala sdk”,在弹出新窗口中点击"Download...",选择合适的scala版本就可以下载。

接下来我们新建一个sbt工程,注意选择好jdk和scala sdk的版本,新建好的目录结构如下:

接下来我们把spark的实例代码下载到src/scala或者src/scala-2.11目录下,代码在spark集群的任何一个节点中都能找到,在spark的安装目录/examples/src/main/scala目录下。

最后我们需要编辑build.sbt文件,添加工程编译所需的支持库。编辑完成的build.sbt文件如下:

name:="spark-example-scala"

version:="1.0"

scalaVersion:="2.11.8"

libraryDependencies+="org.apache.spark"%"spark-core_2.11"%"2.1.0"%"provided"

libraryDependencies+="org.apache.spark"%"spark-sql_2.11"%"2.1.0"%"provided"

libraryDependencies+="org.apache.spark"%"spark-mllib_2.11"%"2.1.0"%"provided"

libraryDependencies+="org.apache.spark"%"spark-graphx_2.11"%"2.1.0"%"provided"

libraryDependencies+="org.apache.spark"%"spark-streaming_2.11"%"2.1.0"%"provided"

libraryDependencies+="com.github.scopt"%"scopt_2.11"%"3.5.0"

libraryDependencies+="org.apache.spark"%"spark-streaming-kafka-0-8_2.11"%"2.1.0"

libraryDependencies+="org.apache.spark"%"spark-streaming-flume_2.11"%"2.1.0"

等待sbt把需要的库下载完毕之后,工程就可以编译通过了。

需要注意的是%和%%的区别,导入scopt库时,github上的写法是libraryDependencies+="com.github.scopt"%%"scopt"%"3.5.0",%%表示sbt会自动在库名称后面加上scala的版本号,在本例中,就是会自动加上“_2.11”然后去maven库中去查找。



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,312评论 5 473
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,578评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,337评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,134评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,161评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,303评论 1 280
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,761评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,421评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,609评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,450评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,504评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,194评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,760评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,836评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,066评论 1 257
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,612评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,178评论 2 341

推荐阅读更多精彩内容