从 Azure Synapse 笔记本将数据写入 kusto 时出现异常

问题描述 投票:0回答:1

使用以下 pyspark 代码从 Azure Synapse 笔记本写入 Kusto 时。如果表已经存在,我会得到一个异常。

df.write \
    .format("com.microsoft.kusto.spark.synapse.datasource") \
    .option("spark.synapse.linkedService", "<link service name>") \
    .option("kustoDatabase", "<Database name>") \
    .option("kustoTable", "<Table name>") \
    .option("tableCreateOptions","CreateIfNotExist") \
    .mode("Append") \
    .save()

例外:

java.lang.ClassCastException: java.lang.String cannot be cast to org.json.JSONObject
    at com.microsoft.kusto.spark.datasink.KustoWriter$.$anonfun$write$3(KustoWriter.scala:69)
    at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
    at scala.collection.Iterator.foreach(Iterator.scala:943)
    at scala.collection.Iterator.foreach$(Iterator.scala:943)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
    at scala.collection.IterableLike.foreach(IterableLike.scala:74)
    at scala.collection.IterableLike.foreach$(IterableLike.scala:73)

突触池中的版本 火花3.3 Python 3.10 斯卡拉 2.12.17 Java 11

pyspark azure-synapse azure-data-explorer azure-synapse-analytics
1个回答
0
投票

从错误消息来看,您的数据框似乎有一列包含字符串数据,并且您正在尝试将该列加载到 Kusto 表列中,其中其数据类型是对象类型。

检查数据框和 Kusto 表中的列数据类型并确保 他们匹配然后执行写操作。

© www.soinside.com 2019 - 2024. All rights reserved.