【发布时间】:2022-07-11 16:51:53
【问题描述】:
我正在处理 Azure Synapse Spark 笔记本中大约 19,710 个包含 IIS 日志文件的目录。每个目录中有 3 个 IIS 日志文件。笔记本读取目录中的 3 个文件,并将它们从分隔的文本转换为 Parquet。没有分区。但有时我会莫名其妙地收到以下两个错误。
{
"errorCode": "2011",
"message": "An error occurred while sending the request.",
"failureType": "UserError",
"target": "Call Convert IIS To Raw Data Parquet",
"details": []
}
当我收到上述错误时,所有数据都已成功写入 Azure Data Lake Storage Gen2 中的相应文件夹。
有时我会得到
{
"errorCode": "6002",
"message": "(3,17): error CS0234: The type or namespace name 'Spark' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)\n(4,17): error CS0234: The type or namespace name 'Spark' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)\n(12,13): error CS0103: The name 'spark' does not exist in the current context",
"failureType": "UserError",
"target": "Call Convert IIS To Raw Data Parquet",
"details": []
}
当我收到上述错误时,没有任何数据被成功写入 Azure Data Lake Storage Gen2 中的相应文件夹。
在这两种情况下,您都可以看到笔记本确实运行了一段时间。 我在 spark 笔记本上启用了 1 次重试,它是一个 pyspark 笔记本,它使用 C# %%csharp 为参数执行 python 其余逻辑。 Spark 池很小(4 核/32GB),有 5 个节点。
笔记本中唯一的转换是将字符串列转换为时间戳。
var dfConverted = dfparquetTemp.WithColumn("Timestamp",Col("Timestamp").Cast("timestamp"));
当我说这是随机的,管道当前正在运行,在处理 215 个目录后,有 2 个是第一个失败,一个是第二个。
任何想法或建议将不胜感激。
-
看到另一个随机错误,我将在管道完成后进行调查
"errorCode": "6002", "message": "[2022-03-02T12:09:41.8223708Z] [vm-18712171] [Error] [JvmBridge] JVM method execution failed: Nonstatic method 'collectToPython' failed for class '37' when called with no arguments\n[2022-03-02T12:09:41.8227074Z] [vm-18712171] [Error] [JvmBridge] java.io.IOException: Stream is corrupted