Apache spark pyspark中获得屈曲随机投影结果的最佳实践
目前,我已经建立了一个Apache spark pyspark中获得屈曲随机投影结果的最佳实践,apache-spark,pyspark,Apache Spark,Pyspark,目前,我已经建立了一个BucketedRandomProjectionLSH模型,以便通过approxnearestneights计算数据的相似性。下面的代码是这样的 df = sql_context.read.format("org.apache.spark.sql.cassandra").options(table="data", keyspace="spark").load() brp = BucketedRandomProjectionLSH(inputCol="features", o
BucketedRandomProjectionLSH
模型,以便通过approxnearestneights
计算数据的相似性。下面的代码是这样的
df = sql_context.read.format("org.apache.spark.sql.cassandra").options(table="data", keyspace="spark").load()
brp = BucketedRandomProjectionLSH(inputCol="features", outputCol="hashes", bucketLength=2.0,
numHashTables=3)
model = brp.fit(df)
df_collected = df.collect()
for x in df_collected:
result = model.approxNearestNeighbors(df, x["features"], 30).collect()
write(result) ## save result to db
我在想是否有任何方法可以分配for循环的工作负载
for x in df_collected:
result = model.approxNearestNeighbors(df, x["features"], 30).collect()
write(result) ## save result to db
每台机器
我发现foreach
或foreachPartition
可以完成这项工作,但我已经尝试过了。他们不允许我通过那里的rdddf
有没有解决这类问题的最佳方法?试试
df.rdd.foreach
而不是df.foreach
@Paul如何在foreach内部使用整个df?试试df.rdd.foreach
而不是df.foreach
@Paul如何在foreach内部使用整个df?