Databricks ノートブックでデータフレームを次のように読んでいます。
val data = files
.grouped(10000)
.toParArray
.map(subList => {
spark.read
.format("avro")
.schema(
StructType(List(StructField("Body", BinaryType, nullable = true),
StructField("Properties", MapType(StringType, StringType, valueContainsNull = true), nullable = true))))
.load(subList: _*)
})
.reduce(_ union _)
.select("body", "properties")
.as[Log]
.filter($"ipAddress" rlike "^([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})$")
これにより、データセットは次のようになります。
data:org.apache.spark.sql.Dataset[Log]
timeStamp:timestamp
Message:string
HostIP:string
hostName:string
userIdentifier:string
特定の操作を実行したいのですが、 count() または show() または write を実行するとすぐに、次のようなエラーが発生します。
data.cache().toDF().count()
->
org.apache.spark.SparkException: Job aborted due to stage failure: Task 24 in stage 157.0 failed 4 times, most recent failure: Lost task 24.3 in stage 157.0 (TID 29598, 10.139.64.14, executor 10): org.apache.spark.repl.RemoteClassLoaderError: line4f12f71540d949f69fe10e4bdb147a3937/$read$$iw.class
at org.apache.spark.repl.ExecutorClassLoader$$anon$1.toClassNotFound(ExecutorClassLoader.scala:150)
............
Caused by: java.nio.channels.ClosedByInterruptException
at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
これらのエラーが何であるか、およびこれをどのように解決できるかを知っている人はいますか?
ありがとう