Данные искрового фильтра Datastax очень медленные - PullRequest
0 голосов
/ 28 апреля 2019

Я использую DSE Analytics для анализа данных, 4 сервера EC2 m5ad.xlarge (4 ядра и 16 ГБ ОЗУ, 3 аналитики и 1 Cassandra)
2 постоянного тока, как это:

enter image description here

В Cassandra размер пространства ключей составляет около 9 ГБ, всего 20 миллионов строк (50 столбцов)
И запрос:

        t0 = time() 
        df = exclusive_df.groupBy('id_store','id_area').agg(
            F.sum("numberin").alias("total_people")            
            ).orderBy("id_store")
        df.show()            
        tt = str(time() - t0)

Потребовалось почти 10 минут для выполнения запроса, ЦП,память, как указано выше (не использовать все ресурсы).И этапы:

enter image description here

Я не знаю, что вызвало медленный запрос в этом случае, возможно, потому что я пропустил какую-то конфигурацию для рабочих, или не хватаетсерверов / разделов?

1 Ответ

0 голосов
/ 29 апреля 2019

Ваше задание Spark выполняется только на одном узле, который является драйвером. То есть исполнители не вовлечены в работу. Поэтому вся работа выполняется одна задача за другой, а не параллельно.

"может быть, потому что я пропустил какую-то конфигурацию для рабочих или нехватка серверов"? - Точно. Это тот случай.

Вы либо не зарегистрировали серверы для драйвера Spark, либо ваша конфигурация неверна.

Проверьте значения вашей конфигурации в spark-env.sh. Посмотрите, есть ли предел для spark.cores.max.

Также убедитесь, что вы фактически предоставили Spark IP-адреса исполнителей.

Дополнительная информация: DataStax - Настройка узлов Spark

...