Создание таблиц Polybase из DataBricks

Будучи новичком в Datawarehouse, у меня есть новое требование создать EXTERNAL TABLE из Datalake (GEN1/GEN2) в DWH из Databricks. Я использовал ссылку, чтобы создать приведенный ниже код.

// Set up the Blob storage account access key in the notebook session conf.
spark.conf.set(
  "fs.azure.account.key.<your-storage-account-name>.blob.core.windows.net",
  "<your-storage-account-access-key>")

// Get some data from a SQL DW table.
val df: DataFrame = spark.read
  .format("com.databricks.spark.sqldw")
  .option("url", "jdbc:sqlserver://<the-rest-of-the-connection-string>")
  .option("tempDir", "wasbs://<your-container-name>@<your-storage-account-name>.blob.core.windows.net/<your-directory-name>")
  .option("forwardSparkAzureStorageCredentials", "true")
  .option("dbTable", "my_table_in_dw")
  .load()

Код, который я написал

%scala

Class.forName("com.databricks.spark.sqldw.DefaultSource")

import org.apache.spark.sql.functions._ 
import org.apache.spark.sql.{DataFrame, SQLContext}


spark.conf.set("fs.azure.account.key.xxxxxxxxx.blob.core.windows.net", "xxxxxxxxxxxxxxx")

    // Load data from a SQL DW query
   val df: DataFrame = spark.read
  .format("com.databricks.spark.sqldw")
  .option("url", "jdbc:sqlserver://xxxxxxxxxxx.database.windows.net:1433;database=xxxxxxxx")
  .option("tempDir", "wasbs://[email protected]")
  .option("forwardSparkAzureStorageCredentials", "true")
  .option("dbTable", "dbo.EXT_TEST") 
  .load()

Это вызывает ошибку: com.databricks.spark.sqldw.SqlDWConnectorException: Исключение в коде соединителя SQL DW. Где я ошибаюсь? Любая помощь будет оценена.




Ответы (1)


Обязательно передайте «tempDir», как показано в следующем формате.

tempDir = "wasbs://" + blobContainer + "@" + blobStorage +"/tempDirs"

Ссылка: Загрузить данные в хранилище данных SQL Azure

Вы можете обратиться к предложениям, изложенным в проблеме GitHub, которая решает аналогичную проблему.

Надеюсь это поможет.

person CHEEKATLAPRADEEP-MSFT    schedule 22.11.2019
comment
Рад узнать, что это помогло. - person CHEEKATLAPRADEEP-MSFT; 26.11.2019