API логирования не работает через некоторое время из Databricks в CosmosDB - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь создать API для регистрации данных в Azure Cosmos DB из Azure Databricks.Иногда это работает идеально.Но иногда он останавливается и выдает мне следующую ошибку:

"org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 13.0 failed 4 times, most recent failure: Lost task 0.3 in stage 13.0 (TID 182, 10.139.64.6, executor 0): java.io.InvalidClassException: com.microsoft.azure.cosmosdb.spark.partitioner.CosmosDBPartitioner; local class incompatible: stream classdesc serialVersionUID = 8353915059903012358, local class serialVersionUID = 8931626920614698600"

Я создал базу данных в CosmosDB с именем: "CosmoDB" , которая содержит контейнер: "containsLog ".

В блоках данных есть API с именем" Cosmos_Log_API ", который состоит из класса" Cosmos_conn () ".Он содержит два метода: "read_logs ()" и "write_logs (log_text)"

Когда я вызываю эти два метода как: Cosmos_conn (). Read_logs () Cosmos_conn (). Write_logs ("test"),

Данные из БД Космос считываются и записываются.Но не регулярно.

Иногда я получаю сообщение об ошибке: "org.apache.spark.SparkException: задание прервано из-за сбоя этапа: задание 0 на этапе 13.0 не выполнено 4 раза, последний сбой: потерянное задание0,3 на этапе 13.0 (TID 182, 10.139.64.6, исполнитель 0): java.io.InvalidClassException: com.microsoft.azure.cosmosdb.spark.partitioner.CosmosDBPartitioner; несовместимый локальный класс: класс потока streamdesc serialVersionUID = 835391505990 ID0 serialID localSource = local_SID = local_SerialServer = 08931626920614698600 "

def read_logs(self):
       readConfig = {
                    "Endpoint" : "x",
                    "Masterkey" : "x",
                    "Database" : "x",
                    "Collection" : "x"
       }
    df = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**readConfig).load()
    display(df[['logs','id']])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...