Чтение таблицы Azure Synapse с помощью Spark
Я безуспешно ищу, как читать таблицу Azure Synapse из Scala Spark. Я нашел в https://docs.microsoft.com/ соединители для других баз данных Azure со Spark, но ничего не нашел с новым хранилищем данных Azure.
Кто-нибудь знает, возможно ли это?
2 ответа
Теперь можно напрямую и с минимальными усилиями (для этого в пользовательском интерфейсе даже добавлена опция щелчка правой кнопкой мыши) считывать данные из ВЫДЕЛЕННОГО пула SQL в Azure Synapse (новая рабочая область Analytics, а не только DWH) для Scala (и, к сожалению, сейчас ТОЛЬКО Scala).
В рабочей области Synapse (есть, конечно, и API для записи):
val df = spark.read.sqlanalytics("<DBName>.<Schema>.<TableName>")
Если за пределами интегрированного ноутбука, необходимо добавить импорт:
import com.microsoft.spark.sqlanalytics.utils.Constants
import org.apache.spark.sql.SqlAnalyticsConnector._
Похоже, они работают над расширением пула SERVERLESS SQL, а также других SDK (например, Python).
Прочитайте верхнюю часть этой статьи в качестве ссылки: https://docs.microsoft.com/en-us/learn/modules/integrate-sql-apache-spark-pools-azure-synapse-analytics/5-transfer-data-between . -sql-искровой пул
Возможно , я неправильно понял ваш вопрос, но обычно вы использовали бы соединение jdbc в Spark для использования данных из удаленной базы данных
проверьте этот документ https://docs.databricks.com/data/data-sources/azure/synapse-analytics.html
имейте в виду, что Spark должен будет принимать данные из таблиц Synapse в память для обработки и выполнять там преобразования, поэтому он не собирается передавать операции в Synapse.
Обычно вы хотите выполнить SQL-запрос к исходной базе данных и передать результаты SQL только в фреймворк Spark.