агрегат linq

Это команда, которая решает мою проблему:

docker run --network docker-spark-cluster_spark-network -v /tmp/spark-apps:/opt/spark-apps --env SPARK_APPLICATION_JAR_LOCATION=$SPARK_APPLICATION_JAR_LOCATION --env SPARK_APPLICATION_MAIN_CLASS=$SPARK_APPLICATION_MAIN_CLASS --env SPARK_APPLICATION_ARGS="/opt/spark-data/README.md /opt/spark-data/output-6" spark-submit:2.4.0

Я должен использовать --env SPARK_APPLICATION_ARGS = "args1 args2 argsN" вместо -e APP_ARGS = "args1 args2 argsN".

5
задан Jon Skeet 29 March 2009 в 07:47
поделиться

2 ответа

var foo = new List<Category>() { 
                new Category() { Name = "AA", Count = 2},
                new Category() { Name = "BB", Count = 3},
                new Category() { Name = "AA", Count = 4}
            };

            var bar = foo.GroupBy(c => c.Name).Select(g => new Category(){ Name = g.Key, Count = g.Sum(c => c.Count) });
1
ответ дан 14 December 2019 в 13:47
поделиться

Ваш обновленный вопрос не совершенно ясен с точки зрения номера телефона, но я подозреваю, что Вы хотите что-то как:

    var query = from category in list
                group category by category.Name into grouped
                select new { Name = grouped.Key,
                             SumA = grouped.Sum(x => x.CountA),
                             SumB = grouped.Sum(x => x.CountB),
                             Phone = grouped.Last().Phone };

Изменение grouped.Last() кому: grouped.First() было бы более эффективным, между прочим.

Оценка нескольких агрегатов таким образом не ужасно эффективна в целом. Нажатие проект LINQ, разработанный один и Marc Gravell, делает это намного более эффективным за счет того, чтобы не быть вполне как простое в использовании. Вы могли бы хотеть изучить его, если необходимо иметь дело с большим количеством данных.

5
ответ дан 14 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: