Size: a a a

2021 February 19

SO

Simon Osipov in Data Engineers
Паша Финкельштейн
Выбираете, что бы такого посмотреть вечером? Мы предлагаем свой вариант — доклады SmartData 2020. Плейлист открыт, его можно сохранять, шарить, смотреть и пересматривать.

https://www.youtube.com/playlist?list=PLeN_80lmoMY1ugdDLg2mWht5eQDq6CoNQ
Me like, tnx
источник

GP

Grigory Pomadchin in Data Engineers
Roman
Коллеги, подскажите, пожалуйста, хорошие книги/ресурсы по scala cats или scalaz, кроме их доков. Может быть кто - то может кинуть ссылку на проект, который написан на них, чтобы на практике посмотреть. Заранее благодарю.
Наверное уместно эту беседу в скала чаты перенести

https://t.me/scala_learn

https://t.me/scala_ru

Ну а вообще какаянить circe юзает котов)

Есть ещё библиотечка тофу - она это тулинг вокруг тф, кото и зио зависимости есть

Scalaz не моден сейчас
источник

NN

No Name in Data Engineers
Simon Osipov
Me like, tnx
Like thx me
источник

R

Roman in Data Engineers
Grigory Pomadchin
Наверное уместно эту беседу в скала чаты перенести

https://t.me/scala_learn

https://t.me/scala_ru

Ну а вообще какаянить circe юзает котов)

Есть ещё библиотечка тофу - она это тулинг вокруг тф, кото и зио зависимости есть

Scalaz не моден сейчас
Спасибо! Сорян, что слегка не по теме чата. Просто тут часто про скалу, что на автомате кинул вопрос
источник

GP

Grigory Pomadchin in Data Engineers
источник

KS

K S in Data Engineers
Проведите ликбез для меня 😁
В Pyspark ищу эффективный способ фильтрации супербольшого датафрейма big_df по полю из другого датафрейма (небольшого или среднего размера- до 10 тысяч записей) medium_df.
Оба датафрейма вытягиваются из паркет файлов из S3, никаких баз данных.

Моя идея перевести поле pids=medium_df.select("product_id") в список, потом этот список broadcast и потом фильтровать по нему
big_df.select(col1,col2,col3).where(big_df.product_id.isin(pids)). Будет ли это быстрее left join?

Хочется понять насколько хорош оптимизатор запросов и сможет ли он уменьшить количество shuffles.
источник

YL

Yuri Lyulchenko in Data Engineers
Ребята, изучаю Flink. Много всего... А можете подсказать, если я собираю некий стэйт. Можно ли к нему обращаться именно sql-подобными запросами? Как бы в таблицу его абстрагировать.. или доступ по ключу только? Суть в том, что нужно по записям, у которых время записи + X (период ожидания), выполнять реакцию. Не перебирать же все хранилище...
источник

K

KrivdaTheTriewe in Data Engineers
Grigory Pomadchin
Наверное уместно эту беседу в скала чаты перенести

https://t.me/scala_learn

https://t.me/scala_ru

Ну а вообще какаянить circe юзает котов)

Есть ещё библиотечка тофу - она это тулинг вокруг тф, кото и зио зависимости есть

Scalaz не моден сейчас
а сча коты на 11 джаве или в 8 есть кроссбилд?
источник

Oℕ

Oleg ℕizhnik in Data Engineers
11
источник

K

KrivdaTheTriewe in Data Engineers
очень плохо, так как экосистема сейчас вся на 8 джаве
источник

K

KrivdaTheTriewe in Data Engineers
Ну касаемо апач хадуп стека, на 11 только недавно завезли хадуп
источник

GP

Grigory Pomadchin in Data Engineers
а я кстати не обращал внимания что коты на 11
источник

K

KrivdaTheTriewe in Data Engineers
но хайва нет к примеру
источник

K

KrivdaTheTriewe in Data Engineers
Grigory Pomadchin
а я кстати не обращал внимания что коты на 11
драйвер для вертики к примеру вышел для 3 спарка вот только недавно
источник

PS

Pavel Sivash in Data Engineers
Коллеги, всем привет!

Есть желание анализировать кликстрим по компании. Сейчас развернут Clickhouse под кликстрим, но пока еще есть возможность выбрать другие решения.

Общий продукт комплексный, состоит из множества микросервисов, кучи поддоменов, над каждым работает отдельная команда. В рамках каждого события существует довольно обширный контекст (к примеру, если клиентом А был куплен продукт X, то для итоговой аналитики важно знать и все параметры клиента А, и все параметры продукта X, чтобы строить метрики в самых разных разрезах).

У каждого сервиса набор атрибутов в контексте свой. К примеру, region у одного сервиса - это регион, с которого клиент зашел в веб, а у другого сервиса region - это регион, где клиент купил продукт. Команды по сервисам хотят иметь возможность сами добавлять атрибуты, но очевидно, что это может привести к коллизиям в названиях атрибутов.

Соответственно, возникают вопросы:
1) стоит ли весь кликстрим по всем сервисам писать в одну таблицу и пытаться как-то разруливать (путем контроля) проблемы с «похожестью» названий атрибутов?
2) если пишем в одну таблицу, насколько правильно, что для одного сервиса будут использоваться первая половина атрибутов, а вторая будет «пустой», а для другого сервиса первая будет «пустой», а вторая заполнена?
3) стоит ли плодить множество таблиц в кликхаусе (для каждого сервиса - своя, со своим набором атрибутов контекста)?
4) стоит ли вообще писать контекст (обогощать сам факт события) в таблицу с событиями или лучше для аналитики обогащать уже после записи, например, в отдельной базе через ETL процессы?
5) если хранить в разных таблицах (каждый сервис в своей), то насколько удобно/правильно потом будет проводить какую-то сквозную аналитику между сервисами?

Примерное кол-во сервисов (доменов) - 70
Среднее кол-во атрибутов в контексте - 100

Понимаю, что на эти темы может быть множество мнений и нет одного решения, хочется услышать, какой опыт у кого был, с какими еще проблемами сталкивались, какие советы можете дать. Буду очень рад обсудить более подробно и в личке
источник

ПФ

Паша Финкельштейн... in Data Engineers
Народ, а как в паркете называется аналог страйдов?
источник

ПФ

Паша Финкельштейн... in Data Engineers
RowGroup?
источник

A

Alex in Data Engineers
если ты про stripe из орка, то в паркете это page
источник

ПФ

Паша Финкельштейн... in Data Engineers
Alex
если ты про stripe из орка, то в паркете это page
stride — минимальная пропускаемая единица )
источник

ПФ

Паша Финкельштейн... in Data Engineers
orc.row.index.stride вот этой пропертью занимается
источник