1

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)

これらのエラーが何であるか、およびこれをどのように解決できるかを知っている人はいますか?

ありがとう

4

0 に答える 0