w**2 发帖数: 147 | 1 请教大牛们,如何用window functions来算出 3day moving avg。那个error msg看不
懂呢,为啥要hive context。
多谢了~
例子如下,
from pyspark.sql import Window
from pyspark.sql import SQLContext
import pyspark.sql.functions as func
Table T:
Date Num
07/01 2
07/02 3
07/03 2
07/04 2
07/05 5
07/06 6
07/07 7
sqlCtx = SQLContext(sc)
T.registerTempTable(“T”)
w = Window.partitionBy(T.Date).orderBy(T.Date).rangeBetween(-2,0)
a = (func.avg(T["Num"]).over(w))
T.select(T["Date"],T["Num"],a.alias("... 阅读全帖 |
|
w********m 发帖数: 1137 | 2 用python吧
空间O(1),时间O(n)
cnt = 0
with open('file.txt', 'r') as infile:
for _ in infile:
cnt += 1
print cnt
空间O(n), 时间O(n/k)
import pyspark
sc = pyspark.SparkContext()
infile = sc.textFile('file.txt')
print infile.count() |
|
S*******e 发帖数: 525 | 3 SQLContext only supports very limited SQL functions. HiveContext supports
many functions such as what you need. Anything SQLContext supports, the
HiveContext will support.
I think you only change "from pyspark.sql import SQLContext ", to
"from pyspark.sql import HiveContext " and change "sqlCtx = SQLContext(sc)"
to "sqlCtx = HiveContext(sc)" will work (by the way, I have very limited
knowledge on python. I mainly use Java to do Spark). |
|
s****y 发帖数: 581 | 4 请解释一下seed=1在建立spark 的Naive bayes的model 时在split的时候,seed是干什
么用的?
用的pyspark.
splits = iviris_df.randomSplit([0.7,0.3],1)
Thanks a lot! |
|
s*****r 发帖数: 43070 | 5 大妈们还是去谈包,谈男人吧。
会用regression解决business问题就是ML
偏技术的:先说偏统计的吧。这部分人介于data analyst跟machine learning
engineer之间,对技术要求比较全面,既要会sql,也要会用编程语言写一些模型的
prototype,比如predict churn rate,用最简单的logistic regression就可以解决,
但是你的code不是用一次就行,要每个月,甚至每周都用,所以要搭建一些pipeline可
以让这个过程automate一下。所以对编程还是有一定要求的。有些公司用的大数据框架
,你可能就得用spark。python的同学都在用pyspark。另外还要有一定的business
sense,知道你做的模型能够解决什么business 问题,有什么impact。另外还有一部分
人专门做实验设计,这块我不是很懂,所以不多说了。我觉得这部分人其实是个full
stack的要求。但是如果你是技术类型的,即便不是统计cs科班出身,努努力还是可以
入行的。 |
|
|
w***g 发帖数: 5958 | 7 在mapr上的spark vs hive,数文件行数。四台服务器一共330134452行。
hive 49.162s
spark-shell 43.590s
pyspark 67.182s
也就一般般而已。 |
|
z****e 发帖数: 54598 | 8 python提供的tool好像更多一点
除了pyspark以外可以用numpy
如果只是用的话,用python还有更多东西可以用 |
|
g****e 发帖数: 167 | 9 刚开始接触spark. 我只会用SaveAsTextFile 保存结果,但是结果需要formatting. 请
问有什么办法可以format么?多谢! |
|
|
g****e 发帖数: 167 | 11 不错。这个东西有map-reduce版本么?我的table超级大。 |
|
w********m 发帖数: 1137 | 12 1.3之前pyspark很慢。
1.3之后有了dataFrame,python优化得比scala都快了。重要的是单机的pandas直接移
植。
所以建议无脑上python。 |
|
|
|
w***g 发帖数: 5958 | 15 速度怎么样?我刚开始就是用的pyspark,后来发现用scala快10倍以上才转的。
我们数据量还是比较大的,而且老板应该是天天盼望还能爆炸性增长。
不然我弄到一台机器上用C++算还能快点,就怕哪天真的爆炸了单机抗不住。
上次我来版上抱怨那次就已经加了注释了,并且把若干超长的行拆散了。
不然日子真的没发过了。 |
|
|
a****f 发帖数: 17 | 17 in pyspark
def add_line(lines):
yield 'from spark'
for line in lines:
yield line
rdd. mapPartition(add_line)
10 |
|
n*****3 发帖数: 1584 | 18 我觉得 要 两方面 都会, 精通一方面。因为 predition oriteded 的 system 会有越
来越大的需求
会搭Web 人很多,
会ML , ststistics 人也一堆
btw a quick question is 你们用 Python, or
pyspark for real time system 吗?
还是最后都换到 JVM based system?
really
taking
go |
|
M********0 发帖数: 1230 | 19 推荐按照cloudera的CDH配一个 虚拟机或者本机都行 楼主应该是做DM/ML的 所以没必
要花时间学java写MR code
直接学spark吧 能用scala就用 要不就Pyspark 教程youtube 联系就先用spark
summit上的几个case 弄熟了再随便网上抓data跑
这个东西其实上手还蛮快的 一周左右感觉就intro了 我当时还把那本learning spark
的书里面大部分章节看了看
不过专门招spark的职位好像非常少 所以这个只能是个plus 就算公司里用spark 你进
去了也未必要用 当然本着学习的态度了解和掌握一下肯定没有坏处
楼主加油 |
|
n*****3 发帖数: 1584 | 20 rdd is gone for sure, pyspark or scala spark , not sure
I do not think Java has a chance here |
|
T*****u 发帖数: 7103 | 21 在emr上跑了一个spark的cluster, 想用它处理我们在rds上postgres里的数据
ssh到master, run
/usr/lib/spark/bin/pyspark --driver-class-path ./postgresql-9.4.1211.jar --
conf spark.executor.extraClassPath=./postgresql-9.4.1211.jar --jars ./
postgresql-9.4.1211.jar
进去之后然后运行
>>> df = spark.read.format('jdbc').options(url=dbstring).options(dbtable='
users').options(driver='org.postgresql.Driver').load()
在本地的docker里面都没问题。但在这里出现问题
py4j.protocol.Py4JJavaError: An error occurred while calling o53.load.
在security group里面加了inbound
P... 阅读全帖 |
|
|
r**********9 发帖数: 19633 | 23 python没有你想的那么难,它有不少内置function。你每天9点半到10点半可以学习会
儿,早上早起半小时,每天学1.5小时,积少成多,你找个小project练习,几个月就可
以掌握一门语言。big data对coding要求挺高,你试试pyspark,慢慢来,我自己
modeling,coding都是菜鸟,不过也稍微入门了些,只要你面对这些困难,慢慢解决总
能掌握它们 |
|
g****e 发帖数: 167 | 24 Python 可跑 Spark. 参见Pyspark |
|
g****e 发帖数: 167 | 25 刚开始接触spark. 我只会用SaveAsTextFile 保存结果,但是结果需要formatting. 请
问有什么办法可以format么?多谢! |
|
w**2 发帖数: 147 | 26 请教spark的大牛,
有两个rdd,请问如何得到一个rdd的补集。
比如rdd1 - rdd2。
我用的是python,但是subtract好像不管用呢。
如果不用subtract,还有哪些其他的方法?
多谢了。 |
|
Z**0 发帖数: 1119 | 27 你没有给出来为什么substract用不了,或者出了什么问题。
toy example
rdd1 = sc.parallelize(range(10))
rdd2 = sc.parallelize(range(5))
rdd1.subtract(rdd2).collect()
[8, 9, 5, 6, 7]
rdd2.subtract(rdd1).collect()
[] |
|
w**2 发帖数: 147 | 28 谢谢 你的回复。
我现在是有一个dataset,然后我已经随机选择了80%左右的data(labeledPoint)作为
training dataset,
然后我想把training的数据从整体中除去。
注: parsed_date是整体的数据。
train_data = parsed_data.takeSample(False, int(0.8*parsed_data.count()))
train_data = sc.parallelize(train_data)
test_data = parsed_data.subtract(train_data)
可是test_date.count() 等于整体数据的大小,training data没有被减掉。 我试了你
的方法,还是没能解决。 |
|
|
Z**0 发帖数: 1119 | 30 spark提供了一个专门的函数,randomSplit。
trainingData, testData = rawData.randomSplit([0.8,0.2], 10) |
|
|
|
|
w**2 发帖数: 147 | 34 好的,弱问一下在这个情况下filter在如何使用?谢谢 |
|
w**2 发帖数: 147 | 35 Thank you everyone.
I am using pyspark and I did:
df = df.withColumnRenamed("old","new")
It worked! |
|