Во-первых, я хотел бы знать, где хранятся данные.
Когда вы запускаете какое-либо действие (например, сбор или другое). Данные собираются с узлов-исполнителей на узел-драйвер и сохраняются в оперативной памяти (памяти)
И, если данныехранится в ОЗУ, а затем, что такое кеш, используемый для
Spark имеет lazy evaluation
, что означает, что до тех пор, пока вы не вызовете действие, оно ничего не делает, и как только вы его вызываете, оно создаетDAG
, а затем выполнил этот DAF.
Давайте разберемся на примере. давайте рассмотрим, что у вас есть три таблицы Table A
, Table B
и Table C
, вы присоединились к этой таблице и применили некоторую бизнес-логику (карты и фильтры), назовем этот фрейм данных filtered_data
. и теперь вы используете DataFrame
, скажем, в 5 разных местах (еще один фрейм данных) для поиска или соединения, а также для других деловых целей.
Если вы хотите сохранить свой filterd_data
фрейм данных, каждый раз, когда он будет обновляться, он снова будет проходить через объединения и другую бизнес-логику. Поэтому желательно сохранить фрейм данных, если вы собираетесь использовать его в нескольких местах.
По умолчанию Cache
хранит данные в памяти (ОЗУ), но вы можете установить уровень хранения на disk
. Хотелось бы узнать, насколько могут масштабироваться блоки данных, если мыесть петабайты данных?
Это распределенная среда, так что вам нужно добавить больше исполнителей. и может понадобиться увеличить конфигурацию памяти и процессора,
как я могу узнать, где хранятся данные в любой момент времени?
, если у вас нетсоздал таблицу или представление, он хранится в памяти.
Какая базовая операционная система работает с блоками данных Azure?
она использует linux
операционную систему. в частности Linux-4.15.0-1050-azure-x86_64-with-Ubuntu-16.04-xenial
вы можете запустить следующую команду, чтобы узнать.
import platform
println(platform.platform()