我有一个看起来像这样的数据框:
data.show()
+--------------------++-------------
| feature| id |
+--------------------++-------------
|[2.23668528E8, 1....| image1 |
|[2.23668528E8, 1....| image2 |
|[2.23668528E8, 1....| image3 |
|[2.23668528E8, 1....| image4 |
|[2.23668528E8, 1....| image5 |
我试图在所有对之间找到相似之处。这些功能基本上是从vgg16模型提取的Numpy向量。行数大约为一百万,并且所有要素都存储在s3中。我正在使用pyspark做到这一点。我尝试了以下步骤:
问题是在这种情况下作业不断失败。同时,按照以下链接中的建议,LSH可以在极短的时间内计算数百万个文件的相似性:https://databricks.com/blog/2017/05/09/detecting-abuse-scale-locality-sensitive-hashing-uber-engineering.html。
这些是我使用过的spark-submit参数:
spark-submit --verbose --deploy-mode cluster --num-executors 5 --executor-cores 40 --executor-memory 110G --driver-cores 20 --driver-memory 42G --conf spark.yarn.appMasterEnv.ENVIRONMENT=dev --conf spark.executorEnv.ENVIRONMENT=dev --conf spark.yarn.appMasterEnv.REGION=us-east-1 --conf spark.executorEnv.REGION=us-east-1 --conf spark.dynamicAllocation.enabled=false --conf spark.shuffle.service.enabled=false --conf spark.dynamicAllocation.executorIdleTimeout=1200s --conf spark.network.timeout=42000s s3://<mainfile.py>
我还尝试将所有功能复制到HDFS并遵循相同的方法,但是没有任何效果。任何帮助将不胜感激?