Концепции Apache Spark + Delta Lake - PullRequest
2 голосов
/ 19 мая 2019

У меня много сомнений, связанных с Spark + Delta. enter image description here

1) Блок данных предлагает 3 слоя (бронза, серебро, золото), но какой слой рекомендуется использовать для машинного обучения и почему? Я предполагаю, что они предлагают, чтобы данные были чистыми и готовыми в золотом слое.

2) Если мы абстрагируем концепции этих трех уровней, можем ли мы считать бронзовый слой как озеро данных, серебряный слой как базы данных и золотой слой как хранилище данных? Я имею в виду с точки зрения функциональности.

3) Дельта-архитектура - это коммерческий термин, или это эволюция архитектуры Kappa, или это новая трендовая архитектура, как архитектура Lambda и Kappa? Чем отличается архитектура Delta + Lambda от архитектуры Kappa?

4) Во многих случаях Delta + Spark масштабируется намного больше, чем большинство баз данных, как правило, гораздо дешевле, и если мы настроим все правильно, мы сможем получить почти в 2 раза более быстрые результаты запросов. Я знаю, что довольно сложно сравнить фактические хранилища данных с хранилищем Feature / Agg Data Store, но я хотел бы знать, как я могу сделать это сравнение?

5) Раньше я использовал Kafka, Kinesis или Event Hub для потокового процесса, и мой вопрос в том, какие проблемы могут возникнуть, если мы заменим эти инструменты таблицей Delta Lake (я уже знаю, что все зависит от многих вещей , но я хотел бы иметь общее видение этого).

1 Ответ

4 голосов
/ 20 мая 2019

1) Оставьте это на усмотрение ваших ученых. Им должно быть удобно работать в серебряном и золотом регионах, некоторые более продвинутые ученые по изучению данных захотят вернуться к необработанным данным и проанализировать дополнительную информацию, которая, возможно, не была включена в серебряные / золотые таблицы.

2) Бронза = необработанные данные в собственном формате / в формате дельты озера. Серебро = очищенные и очищенные данные в дельте озера. Золото = данные, к которым осуществляется доступ через озеро дельты или которые отправляются в хранилище данных, в зависимости от требований бизнеса.

3) Дельта-архитектура - это простая версия лямбда-архитектуры. На данном этапе архитектура Delta - это коммерческий термин, и мы увидим, изменится ли он в будущем.

4) Delta Lake + Spark - самый масштабируемый механизм хранения данных с разумной ценой. Вы можете протестировать производительность в соответствии с требованиями вашего бизнеса. Озеро Дельта будет намного дешевле, чем любое хранилище данных для хранения. Ваши требования к доступу к данным и задержкам будут более важными.

5) Kafka, Kinesis или Eventhub являются источниками для получения данных от края до озера данных. Озеро Дельта может выступать в качестве источника и впадать в потоковое приложение. На самом деле проблем с использованием дельты в качестве источника очень мало. Источник Delta Lake живет в хранилище больших двоичных объектов, поэтому мы фактически обходим многие проблемы инфраструктуры, но добавим проблемы согласованности хранилища больших двоичных объектов. Озеро Delta как источник потоковых заданий гораздо более масштабируемо, чем концентратор событий kafka / kinesis /, но вам все еще нужны эти инструменты для передачи данных с края в озеро дельты.

...