Size: a a a

2021 November 15

М

Михаил in Moscow Spark
Как я понял, ему нужен драйвер в pode на jupyter - экзекьюторы раскидать в spark namespace. Проблема в том что с экзекьюторов не достучаться до драйвера - без прокидки портов
источник

GP

Grigory Pomadchin in Moscow Spark
да, он хочет упростить конфигурацию и сделать динамик аллок портов
источник

ЕГ

Евгений Глотов... in Moscow Spark
Куберспавнер поднимает докер пустой с юпитером
источник

ЕГ

Евгений Глотов... in Moscow Spark
Твои действия?)
источник

GP

Grigory Pomadchin in Moscow Spark
я не понимаю как вообще это связано
источник

GP

Grigory Pomadchin in Moscow Spark
тс поднял контейнер в кубе с журитером
источник

ЕГ

Евгений Глотов... in Moscow Spark
Ну там спарк есть?
источник

GP

Grigory Pomadchin in Moscow Spark
Да, у него даж успешно все работает
источник

ЕГ

Евгений Глотов... in Moscow Spark
А, тогда супер ваще)
источник

GP

Grigory Pomadchin in Moscow Spark
ливи как и гейтвей для контроля прав пользователя жпитера может быть использован (как даск гейтвей) - дать права юзеру ток в апи стучаться а ливи сам знает где и что и скок аллоцировать
источник

GP

Grigory Pomadchin in Moscow Spark
Доступ к кубапи давать конечн можно что-то придумать
источник

GP

Grigory Pomadchin in Moscow Spark
либо ток на свой неймспейс эх
источник

GP

Grigory Pomadchin in Moscow Spark
разные способы деплоя одного и того ж обсуждали там
источник

GP

Grigory Pomadchin in Moscow Spark
чёт проиграл я сча
источник

ЕГ

Евгений Глотов... in Moscow Spark
Ливи можно настроить из ноутбучика конфом
источник

GP

Grigory Pomadchin in Moscow Spark
как отдельный апи сервер
источник

ЕГ

Евгений Глотов... in Moscow Spark
Не, я имею в виду конфиг сессии
источник

GP

Grigory Pomadchin in Moscow Spark
источник

CO

Chern Oleksander in Moscow Spark
всем привет, а не подскажите как можно изяШно сделать, вот такую штуку

Есть вот такой DF - продажи по дням
data_df = spark.sql('''select 100500 user_id, 10 amount, to_date('2021-11-05') date_rep union all
select 100500 user_id, 20 amount, to_date('2021-11-10') date_rep union all
select 222666 user_id, 30 amount, to_date('2021-11-11') date_rep
''')

+-------+------+----------+
|user_id|amount|date_rep  |
+-------+------+----------+
|100500 |10    |2021-11-05|
|100500 |20    |2021-11-10|
|222666 |30    |2021-11-11|
+-------+------+----------+


хочу размножить эту таблицу + сделать коммулятив, что бы у меня данные были на каждый день

+----------+-------+---------------+
|      date|user_id|    amount_cum |
+----------+-------+---------------+
|2021-11-05| 100500|             10|
|2021-11-06| 100500|             10|
|2021-11-07| 100500|             10|
|2021-11-08| 100500|             10|
|2021-11-09| 100500|             10|
|2021-11-10| 100500|             30|
|2021-11-11| 100500|             30|
|2021-11-12| 100500|             30|
|2021-11-13| 100500|             30|
|2021-11-14| 100500|             30|
|2021-11-15| 100500|             30|
|2021-11-11| 222666|             30|
|2021-11-12| 222666|             30|
|2021-11-13| 222666|             30|
|2021-11-14| 222666|             30|
|2021-11-15| 222666|             30|
+----------+-------+---------------+


Я делаю как в sql, но мне кажется эта глупая логика
data_df_cum = (data_df
                   .withColumn('amount_cum', F.sum('amount')
                   .over(Window.partitionBy('user_id')
                   .orderBy('date_rep').rowsBetween(-sys.maxsize, 0)))
            )
data_df_cum_cross = data_df_cum.join(cal_df, cal_df['date']>=data_df_cum['date_rep'])
data_df_cum_cross = data_df_cum_cross.groupBy(F.col('date'), F.col('user_id')).agg({'amount_cum': 'max'})
data_df_cum_cross.sort(F.col('user_id'), F.col('date')).show()
источник

CO

Chern Oleksander in Moscow Spark
и календарь
cal_df = spark.sql("SELECT sequence(to_date('2021-11-01'), to_date('2021-11-15'), interval 1 day) as date").withColumn("date", F.explode(F.col("date")))
источник