Ошибка в Post Requst (Kusto & Databricks)

Я пытаюсь следовать примеру кода здесь :

Вот мой код:

import com.microsoft.kusto.spark.datasource.KustoOptions
import com.microsoft.kusto.spark.sql.extension.SparkExtension._
import org.apache.spark.SparkConf
import org.apache.spark.sql._

val cluster = dbutils.secrets.get(scope = "key-vault-secrets", key = "ClusterName")
val client_id = dbutils.secrets.get(scope = "key-vault-secrets", key = "ClientId")
val client_secret = dbutils.secrets.get(scope = "key-vault-secrets", key = "ClientSecret")
val authority_id = dbutils.secrets.get(scope = "key-vault-secrets", key = "TenantId")
val database = "db"
val table = "tablename"

val conf: Map[String, String] = Map(
      KustoOptions.KUSTO_AAD_CLIENT_ID -> client_id,
      KustoOptions.KUSTO_AAD_CLIENT_PASSWORD -> client_secret,
      KustoOptions.KUSTO_QUERY -> s"$table | top 100"      
    )

// Simplified syntax flavor
import org.apache.spark.sql._
import com.microsoft.kusto.spark.sql.extension.SparkExtension._
import org.apache.spark.SparkConf

val df = spark.read.kusto(cluster, database, "", conf)
display(df)

Однако это дает мне эту ошибку:

com.microsoft.azure.kusto.data.exceptions.DataServiceException: Error in post request
    at com.microsoft.azure.kusto.data.Utils.post(Utils.java:106)
    at com.microsoft.azure.kusto.data.ClientImpl.execute(ClientImpl.java:89)
    at com.microsoft.azure.kusto.data.ClientImpl.execute(ClientImpl.java:45)
    at com.microsoft.kusto.spark.utils.KustoDataSourceUtils$.getSchema(KustoDataSourceUtils.scala:103)
    at com.microsoft.kusto.spark.datasource.KustoRelation.getSchema(KustoRelation.scala:102)
    at com.microsoft.kusto.spark.datasource.KustoRelation.schema(KustoRelation.scala:36)
    at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:450)
    at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:297)
    at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:283)
    at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:201)
    at com.microsoft.kusto.spark.sql.extension.SparkExtension$DataFrameReaderExtension.kusto(SparkExtension.scala:19)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read$$iw$$iw$$iw$$iw$$iw$$iw.<init>(command-1810687702746193:25)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read$$iw$$iw$$iw$$iw$$iw.<init>(command-1810687702746193:86)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read$$iw$$iw$$iw$$iw.<init>(command-1810687702746193:88)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read$$iw$$iw$$iw.<init>(command-1810687702746193:90)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read$$iw$$iw.<init>(command-1810687702746193:92)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read$$iw.<init>(command-1810687702746193:94)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read.<init>(command-1810687702746193:96)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read$.<init>(command-1810687702746193:100)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$read$.<clinit>(command-1810687702746193)
    at linef172a4a7eaa6435fa4ff9fec071cf03535.$eval$.$print$lzycompute(<notebook>:7)

Любые идеи?


person user1761806    schedule 22.07.2019    source источник
comment
похоже, что вы забыли использовать val 'table' в команде чтения, поэтому вы инициировали пустой запрос. Также вы не указали здесь полное исключение (возможно, потребуется прокрутить вниз или просмотреть журналы драйверов)   -  person Ohad Bitton    schedule 23.07.2019


Ответы (2)


Убедитесь, что формат имени вашего кластера соответствует ожидаемому формату.

Ожидается clustername.region

person Manoj Raheja    schedule 22.07.2019

В файле, из которого вы читаете свой запрос, убедитесь, что вы добавили разрыв строки (\n) в конце каждой строки.

person GurdeepBhatia    schedule 12.02.2021