我想用word2vec和PySpark来处理一些数据.我以前在Python中使用Google训练模型GoogleNews-vectors-negative300.bin和gensim.
有没有办法用Mllib/word2vec加载这个bin文件?或者将数据作为字典从Python {word:[vector]}(或.csv文件)导出然后将其加载到PySpark中是否有意义?
谢谢
我使用Python训练了一个随机森林算法,并希望将它应用于PySpark的大数据集.
我首先加载了训练有素的sklearn RF模型(使用joblib),将包含这些功能的数据加载到Spark数据帧中,然后添加一个包含预测的列,并使用用户定义的函数:
def predictClass(features):
return rf.predict(features)
udfFunction = udf(predictClass, StringType())
new_dataframe = dataframe.withColumn('prediction',
udfFunction('features'))
Run Code Online (Sandbox Code Playgroud)
它需要花费很多时间才能运行,是否有更有效的方法来做同样的事情?(不使用Spark ML)
我在中添加了以下配置 spark-env
--configurations '[
{
"Classification": "spark-env",
"Properties": {},
"Configurations": [
{
"Classification": "export",
"Properties": {
"MY_VARIABLE": "MY_VARIABLE"
}
}
]
}
]'
Run Code Online (Sandbox Code Playgroud)
但是如果我只是echo $MY_VARIABLE在 bash 中做,我在终端中看不到它们。
基本上我想做的是以下内容:
我正在使用 AWS Lambda 创建一个处理数据的 Python 函数。我需要加载一个重型模型来运行我的脚本(经过训练的 word2vec 模型),例如在我的计算机上大约需要 5 分钟,但是一旦加载,函数的执行速度非常快。如果我使用 AWS Lambda,该模型是否仅加载一次,还是每次调用函数时都会加载?
我正在尝试使用pyspark在Spark数据框中删除一些嵌套的列。我为Scala找到了这个功能,它似乎完全可以满足我的要求,但是我对Scala并不熟悉,也不知道如何用Python编写它。
我真的很感谢您的帮助。
谢谢,
pyspark ×3
python ×3
apache-spark ×2
amazon-emr ×1
aws-lambda ×1
bash ×1
dataframe ×1
gensim ×1
load ×1
scikit-learn ×1
word2vec ×1