Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2019 (15.x)
Это важно
Надстройка "Кластеры больших данных Microsoft SQL Server 2019" будет прекращена. Поддержка кластеров больших данных SQL Server 2019 завершится 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на этой платформе, а программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений для SQL Server до этого времени. Для получения дополнительной информации см. запись блога об объявлении и параметры работы с большими данными на платформе Microsoft SQL Server.
В этом руководстве вы узнаете:
- Требования и возможности Delta Lake в кластерах больших данных SQL Server.
- Как загружать библиотеки Delta Lake на кластеры CU12 для использования с сеансами и заданиями Spark 2.4.
Введение
Linux Foundation Delta Lake — это уровень хранения с открытым исходным кодом, который обеспечивает транзакции ACID (атомарности, согласованности, изоляции и устойчивости) для рабочих процессов с Apache Spark и большими объемами данных. Дополнительные сведения о Delta Lake см. в следующем разделе:
Delta Lake в кластерах больших данных SQL Server CU13 и выше (Spark 3)
Delta Lake устанавливается и настраивается по умолчанию в кластерах больших данных SQL Server CU13 и более поздних версий. В дальнейших действиях нет необходимости.
В этой статье описывается настройка Delta Lake в кластерах больших данных SQL Server CU12 и ниже.
Настройка Delta Lake в кластерах больших данных SQL Server CU12 и ниже (Spark 2.4)
В кластерах больших данных SQL Server CU12 или ниже можно загрузить библиотеки Delta Lake с помощью функции управления библиотеками Spark .
Замечание
В качестве общего правила используйте последнюю совместимую библиотеку. Код, приведенный в этом руководстве, был протестирован с помощью Delta Lake 0.6.1 в кластерах больших данных SQL Server CU12. Delta Lake 0.6.1 совместим с Apache Spark 2.4.x, более поздние версии не поддерживаются. Примеры предоставляются as-is, а не являются заявлением о поддержке.
Настройка параметров конфигурации библиотеки Delta Lake и Spark
Настройте библиотеки Delta Lake для приложения перед отправкой заданий. Требуется следующая библиотека:
- delta-core — эта базовая библиотека обеспечивает поддержку Delta Lake.
Библиотека должна быть нацелена на Scala 2.11 и Spark 2.4.7. Это требование к кластерам больших данных SQL Server, применимо к SQL Server 2019 с накопительным пакетом обновлений 9 (CU9) или более поздней версии.
Кроме того, необходимо настроить Spark, чтобы включить команды SQL для Delta Lake, а также интеграцию хранилища метаданных. В приведенном ниже примере показано, как записная книжка Azure Data Studio настроит поддержку Delta Lake:
%%configure -f \
{
"conf": {
"spark.jars.packages": "io.delta:delta-core_2.11:0.6.1",
"spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"
}
}
Предоставление общего доступа к расположениям библиотеки для заданий в HDFS
Если несколько приложений будут использовать библиотеку Delta Lake, скопируйте соответствующие JAR-файлы библиотеки в общее расположение в HDFS. Затем все задания должны ссылаться на одни и те же файлы библиотеки.
Скопируйте библиотеки в общее расположение:
azdata bdc hdfs cp --from-path delta-core_2.11-0.6.1.jar --to-path "hdfs:/apps/jars/delta-core_2.11-0.6.1.jar"
Динамически установите библиотеки
При отправке задания можно динамически устанавливать пакеты с помощью функций управления пакетами кластеров больших данных. Существует задержка во время запуска задания из-за периодических скачиваний файлов библиотеки при каждой отправке задания.
Отправка задания Spark с помощью azdata
В следующем примере используются JAR-файлы общей библиотеки в HDFS:
azdata bdc spark batch create -f hdfs:/apps/ETL-Pipelines/my-delta-lake-python-job.py \
-j '["/apps/jars/delta-core_2.11-0.6.1.jar"]' \
--config '{"spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension","spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"}' \
-n MyETLPipelinePySpark --executor-count 2 --executor-cores 2 --executor-memory 1664m
В этом примере используется динамическое управление пакетами для установки зависимостей:
azdata bdc spark batch create -f hdfs:/apps/ETL-Pipelines/my-delta-lake-python-job.py \
--config '{"spark.jars.packages":"io.delta:delta-core_2.11:0.6.1","spark.sql.extensions":"io.delta.sql.DeltaSparkSessionExtension","spark.sql.catalog.spark_catalog":"org.apache.spark.sql.delta.catalog.DeltaCatalog"' \
-n MyETLPipelinePySpark --executor-count 2 --executor-cores 2 --executor-memory 1664m
Дальнейшие шаги
Сведения о том, как эффективно использовать Delta Lake, см. в следующих статьях.
Для отправки заданий Spark в кластеры больших данных SQL Server через конечные точки azdata
или конечные точки Livy, см. Отправка заданий Spark с помощью средств командной строки.
Дополнительные сведения о кластерах больших данных SQL Server и связанных сценариях см. в статье "Общие сведения о кластерах больших данных SQL Server".