Гость
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / UPSERT данных в Azure Data Lake / 9 сообщений из 9, страница 1 из 1
03.03.2021, 16:59
    #40050391
T87
T87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
Привет!

Есть вроде простая задача, но как лучше решить не знаю.

Дано:
1. Фактовая таблица on premise в несколько млрд строк
2. Загрузка инкремента в Azure Data Lake в виде отдельных файлов в слой Raw Data
3. Загрузка инкремента из Azure Data Lake в Azure Synapse через COPY INTO и MERGE фактов на T-SQL

Необходимо:
1. Иметь в Data Lake слой Curated Data, в котором уже будет не история инкрементов, а только актуальные значения.
2. Делать загрузку в Curated Data достаточно быстро.

Вопросы:
1. Каким образом хранить данные в Curated Data? В виде одно большого файла?
2. Каким образом делать UPSERT в Curated Data быстро?

P.S.: про Delta Lake в курсе
...
Рейтинг: 0 / 0
03.03.2021, 18:42
    #40050416
H5N1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
T87,

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

если понятия активной части нет, то имхо быстрых путей нет. самое разумное из вашего же synapsys выгружать на ADSL целиком витрину.
альтернатива имхо только опен соурс вариант delta от датабрикса - делать MERGE в delta фолдеры, которые лежат на ADSL и если нужно кому-то внешнему, то делать vacum или вовсе перестраивать витрину. после vacum в фолдере с delta будут обычные parquet файлики с актуальным снепшотом.
...
Рейтинг: 0 / 0
03.03.2021, 19:21
    #40050430
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
T87,
сорри за оффтоп, но вопрос который меня мучает с детства:
это сильно дорого в плане денег?
...
Рейтинг: 0 / 0
03.03.2021, 20:15
    #40050447
T87
T87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
H5N1,

Да, активной части нет. Обновления задним числом теоретически могут быть на всю глубину назад. Но и данные у нас с 2015г.
...
Рейтинг: 0 / 0
03.03.2021, 20:18
    #40050448
T87
T87
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
ShIgor
T87,
сорри за оффтоп, но вопрос который меня мучает с детства:
это сильно дорого в плане денег?

Если использовать synapse для DWH, Azure Analysis Services и Датабрикс, по порядка 1млн рублей в мес.
DWH ~5Tb
...
Рейтинг: 0 / 0
03.03.2021, 20:49
    #40050457
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
Кто как в Synapse решает вопросы с широкими таблицами?
ежедневно ADF-ом тащим SAP-овские экстракты десятками гигабайт из Oracle
напрямую через BulkInsert (т.е. без ADLS как промежуточное звено, чтобы не
возится с разделителями которые могут попадаться с самом тексте колонны)
шириной по 700+ текстовых колонн - так постоянно приходится
усекать на половину (не сами колонны до varchar(8000), а их количество)
из-за ColumnStore требований перейти на более высокий DWU

п.с. у нас dedicated, а не serverless
...
Рейтинг: 0 / 0
03.03.2021, 22:56
    #40050490
H5N1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
vikkiv
Кто как в Synapse решает вопросы с широкими таблицами?
ежедневно ADF-ом тащим SAP-овские экстракты десятками гигабайт из Oracle
напрямую через BulkInsert (т.е. без ADLS как промежуточное звено, чтобы не
возится с разделителями которые могут попадаться с самом тексте колонны)

тащите в parquet на ADSL, его кто угодно прочтет.
...
Рейтинг: 0 / 0
05.03.2021, 02:29
    #40050917
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
H5N1,

Если чисто из-за них в ADLS/Parquet тащить - то там разделители дело вторичное
(и пока везёт - никто на исключение полей с длинными описаниями не жаловался)
так что легче исключить чем копаться в не-приоритетной задаче..
Основная проблема именно в нюансах работы Synapse с текстовыми полями и особенно когда их так много
nvarchar в varchar конвертировать не проблема - хотя и муторно конечно динамическую конвертацию
писать для сотен таблиц, даже trim() для надёжности можно, самый затык почему Ярославна плачет - именно
в том что Synapse для таких широких текстовых данных не предназначен, т.е. интересуют идеи по решению
таких ситуаций (кроме как банального - не тащи в Synapse)
Жалуется что не хватает ресурса (памяти) для расчёта ColumnStore (а varchar поля с описаниями повсюду)
...
Рейтинг: 0 / 0
17.04.2021, 12:35
    #40063265
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPSERT данных в Azure Data Lake
T87
ShIgor
T87,
сорри за оффтоп, но вопрос который меня мучает с детства:
это сильно дорого в плане денег?

Если использовать synapse для DWH, Azure Analysis Services и Датабрикс, по порядка 1млн рублей в мес.
DWH ~5Tb


Ходят ли у вас бизнес юзеры в ДВХ или только в ААС?
Каков процент почасового использования ДВХ?
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / UPSERT данных в Azure Data Lake / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]