由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 怎样schedule spark application
相关主题
把不同 AKKA actor 里的数据 merge 到 spark RDD 的最佳方式?关于 SPARK, 问二爷peking2 和其他大牛一问题
Spark PK Akka 完胜呀Hadoop 和Python的数据分析包哪个更值得学习?
Spark已经out了,能跳船的赶快感觉flink出来之后,hadoop就显得不怎么再需要了
Hadoop/HBase/HDFS三驾马车过时了吗?搞不懂为什么大牛说Hbase不如C*?
请教一下,各位牛人觉得Rust语言怎么样?一个Hadoop Cluster升级的问题
Spark请教。大牛给推荐个fp语言
spark 到底牛在什么地方?spark RDD不能当K/V store是吧?
谈谈为什么上scalaHadoop运行时是不是用命令行执行的?Hadoop和Java有什么联系?
相关话题的讨论汇总
话题: spark话题: driver话题: cluster话题: service话题: genie
进入Programming版参与讨论
1 (共1页)
C*********r
发帖数: 21
1
一般单机的程序可以用autosys或者cron这种类型的工具指定在某个时间或者某个
dependency满足的情况下,在固定某台机器上面kickoff固定的程序运行,然后可以设
置一些最长跑多长时间,log位置等参数。
如果我有一个跑在hdfs cluster上面的spark程序,那我怎么类似的实现schedule
spark程序呢 (最好是整个cluster对我的scheduler都是透明的,不需要知道具体需要
跑在那台机器上面)。有什么工具或者系统推荐的么?
再一个问题是如果我想把spark程序做成一个service,通过外部的request来进行调用
,例如gui,其他web service等,这样我通过什么来和spark程序或者hdfs cluster进
行通信。大家有什么推荐的么。
刚开始学习spark,好多不懂的地方,先谢谢大家啦
p*****2
发帖数: 21240
2
spark需要一个driver 这个driver跟普通程序差不多

【在 C*********r 的大作中提到】
: 一般单机的程序可以用autosys或者cron这种类型的工具指定在某个时间或者某个
: dependency满足的情况下,在固定某台机器上面kickoff固定的程序运行,然后可以设
: 置一些最长跑多长时间,log位置等参数。
: 如果我有一个跑在hdfs cluster上面的spark程序,那我怎么类似的实现schedule
: spark程序呢 (最好是整个cluster对我的scheduler都是透明的,不需要知道具体需要
: 跑在那台机器上面)。有什么工具或者系统推荐的么?
: 再一个问题是如果我想把spark程序做成一个service,通过外部的request来进行调用
: ,例如gui,其他web service等,这样我通过什么来和spark程序或者hdfs cluster进
: 行通信。大家有什么推荐的么。
: 刚开始学习spark,好多不懂的地方,先谢谢大家啦

z*******3
发帖数: 13709
3
都是java的问题
schedule -> spring scheduler
service -> vert.x
会java的话,随便玩
spark重点不是web service,也不是scheduler
可能有,也可能没有,但是重点不是做这些的
不可能指望所有的东西都由一个framework搞定
会java的话,可以选的余地也大,这个不行,就换另外一个
实在不行自己裸写

【在 C*********r 的大作中提到】
: 一般单机的程序可以用autosys或者cron这种类型的工具指定在某个时间或者某个
: dependency满足的情况下,在固定某台机器上面kickoff固定的程序运行,然后可以设
: 置一些最长跑多长时间,log位置等参数。
: 如果我有一个跑在hdfs cluster上面的spark程序,那我怎么类似的实现schedule
: spark程序呢 (最好是整个cluster对我的scheduler都是透明的,不需要知道具体需要
: 跑在那台机器上面)。有什么工具或者系统推荐的么?
: 再一个问题是如果我想把spark程序做成一个service,通过外部的request来进行调用
: ,例如gui,其他web service等,这样我通过什么来和spark程序或者hdfs cluster进
: 行通信。大家有什么推荐的么。
: 刚开始学习spark,好多不懂的地方,先谢谢大家啦

J****R
发帖数: 373
4
我也想问这个问题来着。spark看了一些,但还没有理清头绪。
比如说我backend 是java,要是用mysql的话,直接jdbc driver连数据库,发个sql
query, driver 会返回个resultset。
那spark呢?难道是spark把数据写进磁盘,java看到文件了再去读么?

【在 z*******3 的大作中提到】
: 都是java的问题
: schedule -> spring scheduler
: service -> vert.x
: 会java的话,随便玩
: spark重点不是web service,也不是scheduler
: 可能有,也可能没有,但是重点不是做这些的
: 不可能指望所有的东西都由一个framework搞定
: 会java的话,可以选的余地也大,这个不行,就换另外一个
: 实在不行自己裸写

p*****2
发帖数: 21240
5
spark一样吧?

【在 J****R 的大作中提到】
: 我也想问这个问题来着。spark看了一些,但还没有理清头绪。
: 比如说我backend 是java,要是用mysql的话,直接jdbc driver连数据库,发个sql
: query, driver 会返回个resultset。
: 那spark呢?难道是spark把数据写进磁盘,java看到文件了再去读么?

d******e
发帖数: 2265
6
https://spark.apache.org/docs/1.2.0/job-scheduling.html

【在 C*********r 的大作中提到】
: 一般单机的程序可以用autosys或者cron这种类型的工具指定在某个时间或者某个
: dependency满足的情况下,在固定某台机器上面kickoff固定的程序运行,然后可以设
: 置一些最长跑多长时间,log位置等参数。
: 如果我有一个跑在hdfs cluster上面的spark程序,那我怎么类似的实现schedule
: spark程序呢 (最好是整个cluster对我的scheduler都是透明的,不需要知道具体需要
: 跑在那台机器上面)。有什么工具或者系统推荐的么?
: 再一个问题是如果我想把spark程序做成一个service,通过外部的request来进行调用
: ,例如gui,其他web service等,这样我通过什么来和spark程序或者hdfs cluster进
: 行通信。大家有什么推荐的么。
: 刚开始学习spark,好多不懂的地方,先谢谢大家啦

z*******3
发帖数: 13709
7

spark sql的话,应该是一样的
你说的是异步吧?
异步的话,塞入lambda做completion后的回调函数
这样会导致金字塔,用rx模式,subscribe, publish,这样就可以避开金字塔
对vert.x熟悉的话,就比较清楚了
akka也行,但是akka偏复杂难用
spark和flink这些对于akka的封装稍微有些高级了

【在 J****R 的大作中提到】
: 我也想问这个问题来着。spark看了一些,但还没有理清头绪。
: 比如说我backend 是java,要是用mysql的话,直接jdbc driver连数据库,发个sql
: query, driver 会返回个resultset。
: 那spark呢?难道是spark把数据写进磁盘,java看到文件了再去读么?

t**********8
发帖数: 15
8
两个问题:
(1) 如何schedule Spark Jobs
你可以使用YARN mode来管理你的cluster.对于scheduler来说, Spark对于你来说,就是
一个master node,并行cluster计算对于你来说就是一个黑箱, 不需关心,scheduler可
以使任何常见的如cron jobs
(2) 如何数据交换,和Spark
对于输入来说, 和java main一个道理,可以使用main(String [] args)来接受参数,输
出可能会有些问题,因为Spark是基于RDD的,一般是把结果RDD写入files 来读取的.
两个问题:
(1) 如何schedule Spark Jobs
你可以使用YARN mode来管理你的cluster.对于scheduler来说, Spark对于你来说,就是
一个master node,并行cluster计算对于你来说就是一个黑箱, 不需关心,scheduler可
以使任何常见的如cron jobs
(2) 如何数据交换,和Spark
对于输入来说, 和java main一个道理,可以使用main(String [] args)来接受参数,输
出可能会有些问题,因为Spark是基于RDD的,一般是把结果RDD写入files 来读取的.

【在 C*********r 的大作中提到】
: 一般单机的程序可以用autosys或者cron这种类型的工具指定在某个时间或者某个
: dependency满足的情况下,在固定某台机器上面kickoff固定的程序运行,然后可以设
: 置一些最长跑多长时间,log位置等参数。
: 如果我有一个跑在hdfs cluster上面的spark程序,那我怎么类似的实现schedule
: spark程序呢 (最好是整个cluster对我的scheduler都是透明的,不需要知道具体需要
: 跑在那台机器上面)。有什么工具或者系统推荐的么?
: 再一个问题是如果我想把spark程序做成一个service,通过外部的request来进行调用
: ,例如gui,其他web service等,这样我通过什么来和spark程序或者hdfs cluster进
: 行通信。大家有什么推荐的么。
: 刚开始学习spark,好多不懂的地方,先谢谢大家啦

C*********r
发帖数: 21
9
那我是不是可以把spark的driver program用vert.x封装成service,这样别人就可以调
用了

【在 z*******3 的大作中提到】
: 都是java的问题
: schedule -> spring scheduler
: service -> vert.x
: 会java的话,随便玩
: spark重点不是web service,也不是scheduler
: 可能有,也可能没有,但是重点不是做这些的
: 不可能指望所有的东西都由一个framework搞定
: 会java的话,可以选的余地也大,这个不行,就换另外一个
: 实在不行自己裸写

N*****m
发帖数: 42603
10
这是胡搞

【在 C*********r 的大作中提到】
: 那我是不是可以把spark的driver program用vert.x封装成service,这样别人就可以调
: 用了

相关主题
Spark请教。关于 SPARK, 问二爷peking2 和其他大牛一问题
spark 到底牛在什么地方?Hadoop 和Python的数据分析包哪个更值得学习?
谈谈为什么上scala感觉flink出来之后,hadoop就显得不怎么再需要了
进入Programming版参与讨论
z*******3
发帖数: 13709
11

当然可以,service是你自己定义的
你想定义成什么就定义成什么

【在 C*********r 的大作中提到】
: 那我是不是可以把spark的driver program用vert.x封装成service,这样别人就可以调
: 用了

z*******3
发帖数: 13709
12

我觉得不是胡搞,相反,我觉得她做得很对
把main program包装成web service,然后给其他人(比如gui)调用
这就是soa,楼主天生就是一个构架师
我就是这么干的

【在 N*****m 的大作中提到】
: 这是胡搞
g*******o
发帖数: 156
13
这个是你需要的?
https://github.com/spark-jobserver/spark-jobserver

【在 C*********r 的大作中提到】
: 一般单机的程序可以用autosys或者cron这种类型的工具指定在某个时间或者某个
: dependency满足的情况下,在固定某台机器上面kickoff固定的程序运行,然后可以设
: 置一些最长跑多长时间,log位置等参数。
: 如果我有一个跑在hdfs cluster上面的spark程序,那我怎么类似的实现schedule
: spark程序呢 (最好是整个cluster对我的scheduler都是透明的,不需要知道具体需要
: 跑在那台机器上面)。有什么工具或者系统推荐的么?
: 再一个问题是如果我想把spark程序做成一个service,通过外部的request来进行调用
: ,例如gui,其他web service等,这样我通过什么来和spark程序或者hdfs cluster进
: 行通信。大家有什么推荐的么。
: 刚开始学习spark,好多不懂的地方,先谢谢大家啦

N*****m
发帖数: 42603
14
懒得跟你说

【在 z*******3 的大作中提到】
:
: 我觉得不是胡搞,相反,我觉得她做得很对
: 把main program包装成web service,然后给其他人(比如gui)调用
: 这就是soa,楼主天生就是一个构架师
: 我就是这么干的

N*****m
发帖数: 42603
15
这个,mesos, yarn都可以

【在 g*******o 的大作中提到】
: 这个是你需要的?
: https://github.com/spark-jobserver/spark-jobserver

z*******3
发帖数: 13709
16

你楼上给了你另外一个例子,看来不止一个人这么搞

【在 N*****m 的大作中提到】
: 懒得跟你说
z*******3
发帖数: 13709
17

这个level只能处理数据本身
并不能把mllib做成web service
你应该把别人给你的link好好看看
表急于下结论

【在 N*****m 的大作中提到】
: 这个,mesos, yarn都可以
N*****m
发帖数: 42603
18
说的就是那样,人都给你搞好轮子
让楼主自己搞,不是害人么

【在 z*******3 的大作中提到】
:
: 这个level只能处理数据本身
: 并不能把mllib做成web service
: 你应该把别人给你的link好好看看
: 表急于下结论

z*******3
发帖数: 13709
19

ft
vert.x就是一个web service的轮子啊
只不过没有明确写出来而已,json的处理用jackson
这个vert.x核心类库里面有
传输协议随便选一个,比如http
这就是一个web service呀
只不过vert.x没写出来说,这个是web service罢了
除非你想用soap,这个也不难就是了

【在 N*****m 的大作中提到】
: 说的就是那样,人都给你搞好轮子
: 让楼主自己搞,不是害人么

N*****m
发帖数: 42603
20
在说web service吗?
在说scheduling的轮子,web service有个球难度
确实不应该接你的茬

【在 z*******3 的大作中提到】
:
: ft
: vert.x就是一个web service的轮子啊
: 只不过没有明确写出来而已,json的处理用jackson
: 这个vert.x核心类库里面有
: 传输协议随便选一个,比如http
: 这就是一个web service呀
: 只不过vert.x没写出来说,这个是web service罢了
: 除非你想用soap,这个也不难就是了

相关主题
搞不懂为什么大牛说Hbase不如C*?spark RDD不能当K/V store是吧?
一个Hadoop Cluster升级的问题Hadoop运行时是不是用命令行执行的?Hadoop和Java有什么联系?
大牛给推荐个fp语言spark看了一边 没什么难点啊。7天掌握
进入Programming版参与讨论
z*******3
发帖数: 13709
21

我哭了
你都没看人家在说什么,那你回的是什么?
发信人: Nehalem (Nehalem), 信区: Programming
标 题: Re: 怎样schedule spark application
发信站: BBS 未名空间站 (Thu Jun 25 13:04:34 2015, 美东)
这是胡搞

【在 N*****m 的大作中提到】
: 在说web service吗?
: 在说scheduling的轮子,web service有个球难度
: 确实不应该接你的茬

N*****m
发帖数: 42603
22
只封装driver有球用
算了,最后一贴了

【在 z*******3 的大作中提到】
:
: 我哭了
: 你都没看人家在说什么,那你回的是什么?
: 发信人: Nehalem (Nehalem), 信区: Programming
: 标 题: Re: 怎样schedule spark application
: 发信站: BBS 未名空间站 (Thu Jun 25 13:04:34 2015, 美东)
: 这是胡搞

z*******3
发帖数: 13709
23

ft,spark的driver program意思是main program
就是你写的那个东西,driver其实是spark context,跟ejb context一样
你对这个eco很不熟悉啊
Spark applications run as independent sets of processes on a cluster,
coordinated by the SparkContext object in your main program (called the
driver program).

【在 N*****m 的大作中提到】
: 只封装driver有球用
: 算了,最后一贴了

f********r
发帖数: 304
24
We use Netflix/Genie (credit to Netflix) to manage all our spark jobs. The
Genie node will be the driver node. All the spark jobs are running in yarn-
client mode. Genie will control the which physical cluster the job will be
executed. Genie has a set of comprehensive REST API to let you define
abstract cluster (which is mapped to a physical cluster) and submit jobs,
etc. All you need is your spark job jars or python files, everything will be
as easy as making a HTTP request.
N*****m
发帖数: 42603
25
这个也不错

be

【在 f********r 的大作中提到】
: We use Netflix/Genie (credit to Netflix) to manage all our spark jobs. The
: Genie node will be the driver node. All the spark jobs are running in yarn-
: client mode. Genie will control the which physical cluster the job will be
: executed. Genie has a set of comprehensive REST API to let you define
: abstract cluster (which is mapped to a physical cluster) and submit jobs,
: etc. All you need is your spark job jars or python files, everything will be
: as easy as making a HTTP request.

C*********r
发帖数: 21
26
不是很懂,如果想做一个calculation service不封装driver,那封装什么呢?其他的
spark都已经封装好了不是么

【在 N*****m 的大作中提到】
: 只封装driver有球用
: 算了,最后一贴了

z*******3
发帖数: 13709
27

你是对的,他搞错了,你看他后来急了都转进到scheduler那边去了
想当然地以为driver program的driver就是jdbc那些drivers了
你如果不懂他说啥,把jdbc driver看一看,就知道他在想什么了

【在 C*********r 的大作中提到】
: 不是很懂,如果想做一个calculation service不封装driver,那封装什么呢?其他的
: spark都已经封装好了不是么

N*****m
发帖数: 42603
28
我说的是只封装driver不行,standalone spark application你把sparkcontext放在
main()里面,做成jar;然后呢?
一般简单的模式是run spark-submit来提交你的job,高级点就是楼上很多说的那些应用
没有scheduling,你就把这个driver就用个main()一包,你怎么run这个job?怎么
monitoring job的进度?

【在 C*********r 的大作中提到】
: 不是很懂,如果想做一个calculation service不封装driver,那封装什么呢?其他的
: spark都已经封装好了不是么

z*******3
发帖数: 13709
29

应用
所以要vert.x包装成service嘛,你根本没看别人在说什么
而且人家根本就没有说“只”包装driver,这个是你自己想当然
driver program包括开发人员自己实现的部分,比如楼主要做的calculation service
可不仅仅是driver

【在 N*****m 的大作中提到】
: 我说的是只封装driver不行,standalone spark application你把sparkcontext放在
: main()里面,做成jar;然后呢?
: 一般简单的模式是run spark-submit来提交你的job,高级点就是楼上很多说的那些应用
: 没有scheduling,你就把这个driver就用个main()一包,你怎么run这个job?怎么
: monitoring job的进度?

z*******3
发帖数: 13709
30
顺便说一下,run 什么来submit jobs这种属于手动
这种东西完全可以自动化起来
cloud一天到晚忙活的就是自动化这些东西
所以cloud开发经常用python这些东西
因为wrapper容易做
但是一般运行时候,这种东西尽量做成自动化操作
就是service,楼主的思路很正确
一般通过run什么script来提交的,这种要么就是开发时候用
因为测试时候直接run比较容易搞,大部分qa都有自己的脚本
但是prod.一般都是自动化,所以一般需要看programmatically blablabla
这个如果多做点vert.x的项目,就很容易想到
因为vert.x的verticles的安装,就是run script和programmatically两种方式
一般测试用前者,prod.用后者
楼主可以搜索一下programmatically run spark jobs,可以看到很多人在问类似的问题
然后前面其他人推荐的jobserver也是一个solution
相关主题
Spark 和 Dynamodb 之间 如何 连接Spark PK Akka 完胜呀
关于spark的cache问题一直没想清楚Spark已经out了,能跳船的赶快
把不同 AKKA actor 里的数据 merge 到 spark RDD 的最佳方式?Hadoop/HBase/HDFS三驾马车过时了吗?
进入Programming版参与讨论
z*******3
发帖数: 13709
31
作为学习
楼主可以通过用vert.x等手段来解决某人说的
“没有scheduling,你就把这个driver就用个main()一包,
你怎么run这个job?怎么monitoring job的进度?”
这就是日常工作中经常遇到的问题
其实说到底就是找到合适的api
自然就可以搞定了,其实不难
第一个超容易做,第二个你需要找到合适的api
这个你可以参考:
https://spark.apache.org/docs/latest/monitoring.html
难度不算低,但是也不是做不出来哈哈
g*******o
发帖数: 156
32
最近在搞oozie,有几个组已经在用了。

【在 C*********r 的大作中提到】
: 一般单机的程序可以用autosys或者cron这种类型的工具指定在某个时间或者某个
: dependency满足的情况下,在固定某台机器上面kickoff固定的程序运行,然后可以设
: 置一些最长跑多长时间,log位置等参数。
: 如果我有一个跑在hdfs cluster上面的spark程序,那我怎么类似的实现schedule
: spark程序呢 (最好是整个cluster对我的scheduler都是透明的,不需要知道具体需要
: 跑在那台机器上面)。有什么工具或者系统推荐的么?
: 再一个问题是如果我想把spark程序做成一个service,通过外部的request来进行调用
: ,例如gui,其他web service等,这样我通过什么来和spark程序或者hdfs cluster进
: 行通信。大家有什么推荐的么。
: 刚开始学习spark,好多不懂的地方,先谢谢大家啦

1 (共1页)
进入Programming版参与讨论
相关主题
Hadoop运行时是不是用命令行执行的?Hadoop和Java有什么联系?请教一下,各位牛人觉得Rust语言怎么样?
spark看了一边 没什么难点啊。7天掌握Spark请教。
Spark 和 Dynamodb 之间 如何 连接spark 到底牛在什么地方?
关于spark的cache问题一直没想清楚谈谈为什么上scala
把不同 AKKA actor 里的数据 merge 到 spark RDD 的最佳方式?关于 SPARK, 问二爷peking2 和其他大牛一问题
Spark PK Akka 完胜呀Hadoop 和Python的数据分析包哪个更值得学习?
Spark已经out了,能跳船的赶快感觉flink出来之后,hadoop就显得不怎么再需要了
Hadoop/HBase/HDFS三驾马车过时了吗?搞不懂为什么大牛说Hbase不如C*?
相关话题的讨论汇总
话题: spark话题: driver话题: cluster话题: service话题: genie