z****e 发帖数: 54598 | 1 ft
越简单的东西越没有意义
就像你从web上搬运数据的话
用js/groovy/ruby/python这些都不会有太大区别
本质上一样的
数行数本质是从硬盘上挨个数过去
怎么做都那样
spark的优势在于对于复杂度比较高的运算
它会先将数据读入内存,做成cache
然后每次计算你就不需要去access硬盘了
所以你的算法越复杂,复杂度越高,spark优势越大 |
|
z****e 发帖数: 54598 | 2 spark是apache的开源项目,你用spark又不用付钱,只要你会用
apache你还信不过?datastax的产品才是用来卖钱的
市场刚培育出来的时候,因为会的人不多,所以这个时候卖服务
会有很多人去买,以后等市场上会的人多了,这个利润就下来了
所以技术轮子都有时效性的,以前os,db,ejb,nosql这些都是如此 |
|
z****e 发帖数: 54598 | 3 3-5年吧
现在是刚开始
hadoop和spark有啥冲突的
hdfs这些还得用啊,spark又不管这些 |
|
c******o 发帖数: 1277 | 4 Spark 有成熟的stream service
Spark 可以接受外界的stream, 我们就用的是kinesis做缓存的stream |
|
k*******n 发帖数: 190 | 5 SPARK 用来作streaming, 速度可以比storm 快一倍。 从kafka -> spark streaming -
> cassadra -> tableau , 总延时基本上是以秒来计算的。 |
|
p*****2 发帖数: 21240 | 6
我以前也这么理解。但是我实在找不到根据。看了代码也没看到。我倒是search到了这
个说法,但是没有任何具体的。
你的意思java就不能做distributed?clojure的storm做出来也没用akka吧?
你是大牛,能给我找点具体的资料我去研究一下,也长进一下。
整好我现在用akka和spark去做同一件事情,我到真想看看spark内部怎么用的。 |
|
w******g 发帖数: 189 | 7 看见这里有scala 和spark的大牛,问问一个困扰多时的问题。Spark上怎么join avro
format的数据?
如果是plain text,用TAB分割开的数据,做join操作很容易就是把A和B表弄成(key,
value)格式的rdd再调用A.join(B)就可以了。但是我现在要join avro格式的数据,还
是A和B,格式都是(STRING, GenericRecord)。读是可以都的,因为可以执行first和
count的action,但是join貌似要shuffle,shuffle的话要serialize 临时数据。已经
用了kyro的serializer register A和B类了,还是不行。大牛谁有经验或者可以run的
例子吗? |
|
|
m*****k 发帖数: 731 | 9 多谢老赵费心,
改examples module 的pom.xml容易,我查的是
https://repository.cloudera.com/cloudera/cloudera-repos/org/apache/spark/ (
看parent pom.xml 的repositories)
所以 我的改动
1.2.0-cdh5.3.0-SNAPSHOT
能让eclipse happy
但我的疑问是:
啥都不改动时,pom refer 的jar 找不到,
为何cmd line 在parent folder build 通过了?output 也显示各module build 都
successful,
我也看到example module 的java class 都生成在target/scala-2.10/classes/org/
apache/spark/examples/ 中,
但是 .m2/repository 没有那些1.2.0-SNAPSHOT 的ja... 阅读全帖 |
|
n*****3 发帖数: 1584 | 10 我看到的git hub 例子, 好像都是 spark summit from the shell
我是在local machine generate the jar file, then ftp it to the cluster
to run with spark-summit
不知道有什么省事的procedure |
|
n*****3 发帖数: 1584 | 11 去了spark summit, 感觉这帮 人是 acdemical guys,那个 spark streaming
是一个一年级的 phd student lead。。。。 呵呵 只能说 自古英雄出骚年 |
|
|
j*****n 发帖数: 1545 | 13 spark 本身确实没啥,RDD 变来变去 记住那些 operator 就好了。难的是 如果一个新
的ML算法怎么能用 spark 实现. |
|
z****e 发帖数: 54598 | 14 主要是这一块目前不做spark也没有其他东西可以搞了
jvm - hadoop - spark这一块上来,基本上是没有什么替代品的
所以一堆人都往这上面去扎堆,人多了,这些东西虽然单看量很大
但是投入的人多了,均摊到每一个人头上去,也未必有多少
不过这个局面等flink出来之后,可能会有所改变
flink还在0.8,应该也快了 |
|
x***4 发帖数: 1815 | 15 谁讲讲flink和spark有什么本质区别?我很表面的理解,spark也支持streaming(rdd
based mini batch),这个和flink的streaming有什么不同? |
|
J****R 发帖数: 373 | 16 spark cache rdd in memory, 这个和我写个scala或者java程序,开个array,把数据
存进数组有区别吗?这不都是在memory 里面访问吗?
为毛spark一提到能cache rdd, 仿佛就很高大上的样子。。。。。。 |
|
z*******3 发帖数: 13709 | 17
spark sql的话,应该是一样的
你说的是异步吧?
异步的话,塞入lambda做completion后的回调函数
这样会导致金字塔,用rx模式,subscribe, publish,这样就可以避开金字塔
对vert.x熟悉的话,就比较清楚了
akka也行,但是akka偏复杂难用
spark和flink这些对于akka的封装稍微有些高级了 |
|
|
N*****m 发帖数: 42603 | 19 我说的是只封装driver不行,standalone spark application你把sparkcontext放在
main()里面,做成jar;然后呢?
一般简单的模式是run spark-submit来提交你的job,高级点就是楼上很多说的那些应用
没有scheduling,你就把这个driver就用个main()一包,你怎么run这个job?怎么
monitoring job的进度? |
|
C*********r 发帖数: 21 | 20 最近刚开始学Spark,因为没有看过源代码,麻烦大家想请教几个问题。
1. RDD在创建的时候是lazy的,并且有narrow和wide两种类型,例如map,filter是
narrow类型的所以不需要额外的shuffle。但是groupbykey之类的就需要shuffle了。并
且每个RDD会保存有自己所对应的partition信息。我的理解是每个action或者
transformation都会被Spark internally翻译成map reduce job来执行。
我的问题是翻译之后的map reduce job的并行度是和哪些因素有关系呢?partition的
数量还有executor的数量还有executor-core的数量之间是什么样的关系呢?例如
parition越多并行的task也会越多么?
2. 当我groupbykey的时候RDD会记录下我当前的RDD中有多少个key value么?并且这些
key value和上面说的partition有什么样的联系呢,还是完全不想关的两个概念?
3. 一个RDD的action或者transformation会被转换成多少ma... 阅读全帖 |
|
f********r 发帖数: 304 | 21 我建议初学者不需要太刻意手动设置partition的数目,spark framework一般会帮你选
择合适的数目。如果你的cluster有上一千个节点,每个cpu都是8core的情况,那你理
论上可以同时运行8k个task。这种情况下你增加partition数目或许可能会有帮助。但
前提条件也是真正的运算dominate主要task时间,不是seriliazation/
deserialization或者network的overhead。如果task都是ms level说明你的partition
数目太多了。整个spark tuning是个很tricky的过程,我不建议花太多时间在这个上面
。大部分情况你的改进空间是很有限的。应该多花时间考虑你的算法逻辑,balance你
的dataset。 |
|
C*********r 发帖数: 21 | 22 谢谢!感觉现在RDD的action还有operation的数量太少,有很多很复杂的逻辑如果全部
用RDD拼凑起来会变得很难维护,而且要花很多时间去migrate。所以一个折中的方法就
是把复杂的逻辑用java api wrap起来,然后pass给RDD进行执行。这样可以很快的搭起
来一个系统,但是只是利用了几个基本的RDD,真正复杂的逻辑其实和Spark没有太多关
系。所以才会直接跳到performance tuning的阶段。不知道这样使用Spark会有什么潜
在的问题么?
partition |
|
x***4 发帖数: 1815 | 23 我好歹也在spark上花了很多时间,也contribute过ml的code。但是现在越来越觉得
spark只是一个在很小范围里的一个应用,从工作的数量需求上看其实比一般java 甚至
是scala都少很多很多。而且真正要搞的话,对数学要求bar很高。越来越觉得是话卖白
粉的心,赚卖weed的钱。 |
|
z****e 发帖数: 54598 | 24
http://www.mitbbs.com/article_t/Programming/31418953.html
现在回头看看这贴
还是认真搞点vert.x之类的,实实在在提高生产力
别一天到晚装点高大上的逼,没啥用的
科学的道路上从来都是一将功成,万骨那个啥的
你不用转型,我建议你把这些复杂难懂的操作
做傻瓜化来,搞可视化啊,如果你能让用户拖拖拽拽就把hdfs,cassandra这些搞定
都不要什么spark了,就光这一点,就有很大一块市场
当然如果你能spark的那些lib也都傻瓜化来,市场更大
不过估计没那么容易,jobhunting不是有人内推那个啥可视化的公司嘛
每年股票比flg都多不少,再看看互联网一对hype公司股价跌跌不休 |
|
d******e 发帖数: 2265 | 25 spark还是太弱
工业界有很多需求结合流计算和少许的统计一点点的语言处理和机器学习
这个spark完全无法搞定。
而且实际中搭系统更重要 |
|
l*******m 发帖数: 1096 | 26 我给你写一个吧
scala> val tableA = sc.parallelize(List((1, 5), (2, 3), (2, 1))).toDF("id", "
value")
tableA: org.apache.spark.sql.DataFrame = [id: int, value: int]
scala> tableA.show()
+--+-----+
|id|value|
+--+-----+
| 1| 5|
| 2| 3|
| 2| 1|
+--+-----+
scala> val tableB = sc.parallelize(List((1, "A"), (2, "B"))).toDF("id", "
name")
tableB: org.apache.spark.sql.DataFrame = [id: int, name: string]
scala> tableB.show
+--+----+
|id|name|
+--+----+
| 1| A|
| 2| B|
+--+----+
scala> tableA.join(t... 阅读全帖 |
|
a****k 发帖数: 117 | 27 real time 要求很高的系统spark streaming应该还是不行。spark streaming 应该还
是有至少半秒的delay吧?因为DStream time window的关系。 |
|
n*****3 发帖数: 1584 | 28 抛砖引玉 一 下。
我以前 做的一 spark project, 要用 一 Java library/framwark, business
logic
都围绕 这 Java library 做的。 所以 我 就用 Java 先写个 单机版的,
然后 用Scala/spark call Java class/object
我那个project没有 同步 的问题, 所以 immutable or not is not an issue for me。
|
|
w****w 发帖数: 521 | 29 有点入门了,exception还要处理一下。这里实际使用spark的人看来不多。
import my.pdf._
import collection.JavaConverters._
import collection.mutable._
def extract_func ( row: (String, org.apache.spark.input.PortableDataStream)
) =
{
val stripper = new MyStripper()
val extractor = new MyReportExtractor()
extractor.setText(stripper.getText(row._2.open));
row._2.close
extractor.getContent().asScala
}
val file_rdd = sc.binaryFiles ("/path/test/*.pdf")
file_rdd.flatMap(extract_func(_)).zipWithIndex.map(_._1)... 阅读全帖 |
|
n******7 发帖数: 12463 | 30 千老找工作,被问到了scala/spark/NoSQL这方面
感觉有必要练习一下
有个16核64G内存的机器
为了学习spark/hadoop之类的
我在琢磨单机多开虚拟机来模拟cluster
有这么玩的吗?
最好有什么工具专门为这个目的设计的
vagrant似乎不错? |
|
w***g 发帖数: 5958 | 31 其实我也想这么说的。spark一个是怎么用API写算法。一个是怎么调优,出了问题怎么
解决。单机学习前一个没问题。但是后一个,单机模拟机群和真的机群的行为非常不一
样,小
机群和大机群的行为也非常不一样。我们团队有一个机群,只有很少几台极其,但每台
配置
都很高。还有一个团队,机器数量是我们好几倍,但每台配置都很低,这个一看就是外行
配出来的。算法怎么说都可以,配系统,调优的事情,碰到内行的,问上一两句基本上就
现原形了。我要出去说,也只能够说我在小机群上跑过生产系统,几百台几千台的部署
根本
就没见过。我还有一个只有两台机器的hadoop生产系统,跑了有几年了。如果生物千老
过来说搞过spark机群,这事本来就非常可疑,必然要问下去的。不需要问技术细节,
只要问是什么样的dataset,有多大,楼主立刻就完蛋了。
但楼主要是说是一个10来G的dataset,单机上各种统计聚类啥的玩得纯熟,感觉上
会好很多。
本来要做成事情就难,大家都open实话实说还能降低点通信成本。平级的互相搞政治也是
为了生存没有办法。但要是发现自己招进来的人吹牛,感觉会非常不好。
(对方如果根本不懂技术,招人... 阅读全帖 |
|
d****i 发帖数: 4809 | 32 我的建议是:如果想转行的话就不要去搞什么spark/scala这种东西了,这些东西都是
骗人的,IT的老手是不会上当的。真正有用的还是IT的那些老一套,你可以主攻一个语
言,C/C++, Java, Python都可以,然后看看基本的数据结构算法就差不多了,这些语
言和东西都不会变,spark这种东西再过一两年完全销声匿迹都有可能。 |
|
n******7 发帖数: 12463 | 33 是的,我也不准备target专门做spark的工作
我主要是想学习了解一下这个方面
一方面找工作是个plus
另一方面我感觉我做的这块对这个的需求会持续上升,就当技能投资
spark |
|
e*******o 发帖数: 4654 | 34 spark没用过 感觉你这个就是要并行一下
我觉得每分钟几十m的data 单机应该能搞定
你单机多少个核 并行一下 看能否搞得定 不行再考虑spark |
|
|
n*w 发帖数: 3393 | 36 是不是type class,implicit等在用spark时用不上?看了几个spark例子中的scala代
码,基本上是map,fold,reduce等。 |
|
w***g 发帖数: 5958 | 37 hive可以被spark SQL替代。几年前就有了。现在再上hive我觉得不值。
就spark好了。 |
|
t***k 发帖数: 610 | 38 有人用这个组合吗? 后台framework看花眼了,Django, Flask, Node.js,但是疑问为
什么不能用Spark? 看介绍spark主要用在big data上而不是通用网站上? |
|
p***o 发帖数: 1252 | 39 Apache Spark和Spark Framework是两码事 ... |
|
S*****o 发帖数: 715 | 40 目前最大的问题是spark dataframe没有好的包能用,只能自己手动抄代码写模型关键
对spark不熟而且时间序列很多复杂的算法都在r上实现的很好,没必要自己造轮子。
sample的话又有些浪费数据了,大家碰到这种情况一般怎么处理? |
|
h***s 发帖数: 2499 | 41 【 以下文字转载自 DataSciences 讨论区 】
发信人: hjxds (Kiss My Shiny Metal Ass), 信区: DataSciences
标 题: 有尝请教关于spark api java coding
发信站: BBS 未名空间站 (Thu Dec 14 00:00:11 2017, 美东)
现有一个Java 写的gbm 的scoring code, 剧长因为是很多tree。
现在我想把这个code搬到spark上去run,所以需要改写.
我的理解是把所有x 建立一个rdd,每一个row是一个(key,vector),然后rdd.map((k,v
)=>
(k,tree(vector))), 这个思路对不对?
如果对的话,我就要确保 我的tree function take a vector as input and return
the
score.对吧?
vector里面的x1,x2,x3,...的位置要确保一致对吧?
哪里能找到一些类似的code?谢谢。 |
|
b**h 发帖数: 55 | 42 【 以下文字转载自 Chemistry 讨论区 】
发信人: blxh (kkk), 信区: Chemistry
标 题: what would be the possible damage of a electrostatic spark
发信站: BBS 未名空间站 (Thu Apr 16 12:39:42 2009), 转信
a very bad morning,
when I was hooking up the electrochemical cell to the potentiosat, I heard a
electrostatic spark from my finger to the Crocodile clips which connects to
working electrode. At the same time there is a click sound from my potentio
stat,then the Open circuit potential is always overloading! It seems this el
ectros |
|
|
x*********n 发帖数: 175 | 44 Spark natively supports scala... performance wise comparsion: scala > python
> r.If u wanna do serious parallel computing, R is not the best choice.
: Thanks, so far only considering spark
|
|
x*********n 发帖数: 175 | 45 Spark natively supports scala... performance wise comparsion: scala > python
> r.If u wanna do serious parallel computing, R is not the best choice.
: Thanks, so far only considering spark
|
|
|
S*******e 发帖数: 525 | 47 写的很棒。
我们小组(在很大的Telecom)现在才开始想用HADOOP,在实验室的40节点上做了一个
prototyp, 我们可以在4分钟完成一天数据的处理。 现在的Oracle code 需要4,5个
小时才处理7%的数据。
只是现在看SPRAK,Hadoop好像已过时了(我们还没开始呢)。 看样子,Spark 可以做
near realtime了。我们的大头对STREAMING 特感兴趣,可他对具体技术一点不通(但
他有极强的分析能力和domain knowledge)。 几天前我看了Hadoop's Streaming, 似乎
根本不是通常意义上的streaming。 SPARK 的streaming 好像是我们需要的。 |
|
c******f 发帖数: 243 | 48 我们组去年就开始用spark做batch processing了
我最近拿了个project,要design spark streaming
参考了lambda architecture把batch / real time结合了
很欢乐 |
|
m********1 发帖数: 12 | 49 Spark 和 Hapdoop 有什么不同呀? 最近刚刚听说spark, 比较好奇 |
|
n*****3 发帖数: 1584 | 50 spark performance very good ah,
why you said 工业应用还差太远? All the startups are talking about it,
FG不用 is mostly due to very likely they have similar stuff already,
does G use hadhoop? see how popular hadoop is ...
the spark is the future hadoop |
|