События
Присоединение к вызову ИИ Навыков
8 апр., 15 - 28 мая, 07
Отточите свои навыки ИИ и введите подметки, чтобы выиграть бесплатный экзамен сертификации
Зарегистрируйтесь!Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Важно!
Надстройка "Кластеры больших данных Microsoft SQL Server 2019" будет прекращена. Поддержка кластеров больших данных SQL Server 2019 завершится 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на этой платформе, а программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений для SQL Server до этого времени. Для получения дополнительной информации см. запись блога об объявлении и параметры работы с большими данными на платформе Microsoft SQL Server.
Соединитель Apache Spark для SQL Server и SQL Azure — это высокопроизводительный соединитель, позволяющий использовать транзакционные данные в аналитике больших данных и сохранять результаты для нерегламентированных запросов или отчетов. Соединитель позволяет использовать любую базу данных SQL, локальную или в облаке в качестве источника входных данных или приемника выходных данных для заданий Spark. Соединитель использует API массовой записи SQL Server. Любые параметры групповой записи могут быть переданы как необязательные параметры пользователем и переданы as-is коннектором в базовый API. Дополнительные сведения об операциях массовой записи см. в статье Использование массового копирования с драйвером JDBC.
Соединитель включен по умолчанию в кластеры больших данных SQL Server.
Дополнительные сведения о соединителе см. в репозитории с открытым исходным кодом. Для примеров см. образцы.
Внимание!
В overwrite
режиме соединитель сначала удаляет таблицу, если она уже существует в базе данных по умолчанию. Используйте этот параметр с осторожностью, чтобы избежать непредвиденной потери данных.
При использовании режима overwrite
, если параметр не используется truncate
, при повторном создании таблицы индексы будут потеряны. Например, таблица columnstore становится кучей. Если вы хотите сохранить существующий индексирование, также укажите параметр truncate
со значением true
. Например так: .option("truncate",true)
server_name = "jdbc:sqlserver://{SERVER_ADDR}"
database_name = "database_name"
url = server_name + ";" + "databaseName=" + database_name + ";"
table_name = "table_name"
username = "username"
password = "password123!#" # Please specify password here
try:
df.write \
.format("com.microsoft.sqlserver.jdbc.spark") \
.mode("overwrite") \
.option("url", url) \
.option("dbtable", table_name) \
.option("user", username) \
.option("password", password) \
.save()
except ValueError as error :
print("Connector write failed", error)
try:
df.write \
.format("com.microsoft.sqlserver.jdbc.spark") \
.mode("append") \
.option("url", url) \
.option("dbtable", table_name) \
.option("user", username) \
.option("password", password) \
.save()
except ValueError as error :
print("Connector write failed", error)
Этот коннектор по умолчанию использует уровень изоляции READ_COMMITTED при выполнении массовой вставки в базу данных. Если вы хотите изменить уровень изоляции, используйте параметр mssqlIsolationLevel
, как показано ниже.
.option("mssqlIsolationLevel", "READ_UNCOMMITTED") \
jdbcDF = spark.read \
.format("com.microsoft.sqlserver.jdbc.spark") \
.option("url", url) \
.option("dbtable", table_name) \
.option("user", username) \
.option("password", password).load()
В режиме безопасности, не связанном с Active Directory, каждый пользователь имеет имя пользователя и пароль, которые необходимо указать в качестве параметров при создании экземпляра соединителя для выполнения операций чтения и/или записи.
Ниже приведен пример экземпляра соединителя для режима, отличного от Active Directory. Перед запуском скрипта замените ?
на значение для вашей учетной записи.
# Note: '?' is a placeholder for a necessary user-specified value
connector_type = "com.microsoft.sqlserver.jdbc.spark"
url = "jdbc:sqlserver://master-p-svc;databaseName=?;"
writer = df.write \
.format(connector_type)\
.mode("overwrite")
.option("url", url) \
.option("user", ?) \
.option("password",?)
writer.save()
В режиме безопасности Active Directory после того, как пользователь создал файл keytab, ему необходимо предоставить principal
и keytab
в качестве параметров во время инстанцирования соединителя.
В этом режиме драйвер загружает файл keytab в соответствующие контейнеры исполнителя. Затем исполнители используют имя учётной записи и keytab для создания маркера, который используется для создания соединителя JDBC для чтения и записи.
Ниже приведен пример создания экземпляра соединителя для режима работы Active Directory. Перед запуском скрипта замените ?
на значение вашей учетной записи.
# Note: '?' is a placeholder for a necessary user-specified value
connector_type = "com.microsoft.sqlserver.jdbc.spark"
url = "jdbc:sqlserver://master-p-svc;databaseName=?;integratedSecurity=true;authenticationScheme=JavaKerberos;"
writer = df.write \
.format(connector_type)\
.mode("overwrite")
.option("url", url) \
.option("principal", ?) \
.option("keytab", ?)
writer.save()
Дополнительные сведения о кластерах больших данных см. в статье "Развертывание SQL Server Кластеры больших данных в Kubernetes"
Есть ли отзывы или рекомендации по функциям для кластеров больших данных SQL Server? Оставьте нам отзыв в разделе "Отзывы о кластерах больших данных SQL Server".
События
Присоединение к вызову ИИ Навыков
8 апр., 15 - 28 мая, 07
Отточите свои навыки ИИ и введите подметки, чтобы выиграть бесплатный экзамен сертификации
Зарегистрируйтесь!