我在EMR上运行PySpark,目前只是测试东西。 簇大小是m4.2xlarge的30个实例
从包含近10TB日志的s3存储桶中,我尝试使用以下代码从日志文件中获取许多不同的n_gram(大小为5)元素:
5_grams = sc.textFile(s3://my_logs_bucket)
.map(lambda log: get_longest_first_5_gram(log))
.distinct()
函数 get_longest_first_5_gram 只返回日志中的前5个短语
此功能需要很长时间才能完成,因为AWS实例需要很长时间才能完成 - 在我运行的30个实例中,大约3-4个需要大量时间才能完成
附件是来自 Ganglia 的图片,表示我在一个实例(不是主人)上遇到的问题。
有关如何更快地运行这个问题的想法,以至于它不会停留在这些实例上吗?