Как я могу улучшить часть новинки в моем приложении spark?

У меня 64 разрядника. У меня более 80 миллионов строк данных, которые составляют 4,2 ГБ в моем кластере кассандры. Теперь мне нужно 82 секунды для обработки этих данных. Я хочу, чтобы это сократилось до 8 секунд. Есть мысли по этому поводу? Это вообще возможно? Благодарю.

Это часть моего искрового приложения, которое я хочу улучшить:

axes = sqlContext.read.format("org.apache.spark.sql.cassandra")\
    .options(table="axes", keyspace=source, numPartitions="192").load()\
    .repartition(64*3)\
    .reduceByKey(lambda x,y:x+y,52)\
    .map(lambda x:(x.article,[Row(article=x.article,at=x.at,comments=x.comments,likes=x.likes,reads=x.reads,shares=x.shares)]))\
    .map(lambda x:(x[0],sorted(x[1],key=lambda y:y.at,reverse = False))) \
    .filter(lambda x:len(x[1])>=2) \
    .map(lambda x:x[1][-1])

Редактировать:

Этот код, который я сейчас использую, приведенный выше, был экспериментом, извините за путаницу. Приведенный выше вопрос относится к этому коду.

axes = sqlContext.read.format("org.apache.spark.sql.cassandra").options(table="axes", keyspace=source).load().repartition(64*3) \
                    .map(lambda x:(x.article,[Row(article=x.article,at=x.at,comments=x.comments,likes=x.likes,reads=x.reads,shares=x.shares)])).reduceByKey(lambda x,y:x+y)\
                    .map(lambda x:(x[0],sorted(x[1],key=lambda y:y.at,reverse = False))) \
                    .filter(lambda x:len(x[1])>=2) \
                    .map(lambda x:x[1][-1])

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос