<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Databricks Kryo setup in Administration &amp; Architecture</title>
    <link>https://community.databricks.com/t5/administration-architecture/databricks-kryo-setup/m-p/94252#M2082</link>
    <description>&lt;P&gt;I would like to consolidate all our Spark jobs in Databricks. One of those jobs that are currently running in Azure HDInsight is not properly working using a Databricks JAR job.&lt;/P&gt;&lt;P&gt;It uses Spark 3.3 RDDs and requires configuring Kryo serialisation. Therefore, I have setup a DB 12.2 LTS cluster (latest version using Spark 3.3.x) and setup everything like in HDInsight, adding&amp;nbsp;spark config to the cluster and the JAR to the single task.&lt;/P&gt;&lt;P&gt;But cluster fails because executors cannot find the class defined in spark.kryo.registrator, which is included in the JAR.&lt;/P&gt;&lt;P&gt;How can I solve this?&lt;/P&gt;&lt;P&gt;Job definition:&lt;/P&gt;&lt;PRE&gt;resources:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;jobs:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;test_unai_layer_initial_snapshot:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;name: test-unai-layer-initial-snapshot&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;max_concurrent_runs: 15&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;tasks:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- task_key: layer-A-initial-snapshot&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark_jar_task:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;jar_uri: ""&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;main_class_name: com.tomtom.orbis.layers.io.InitialSnapshotCommand&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;parameters:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- --input=redacted&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- --output=redacted&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;run_as_repl: true&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;job_cluster_key: test-unai-initial-snapshot-cluster&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;libraries:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- jar: dbfs:/FileStore/jars/osm-layers-state-io-all.jar&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;job_clusters:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- job_cluster_key: test-unai-initial-snapshot-cluster&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;new_cluster:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cluster_name: ""&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark_version: 12.2.x-scala2.12&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark_conf:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.network.timeout: 500s&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.executor.cores: "24"&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.sql.shuffle.partitions: auto&lt;BR /&gt;              # Kryo settings copied from HDInsight&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.serializer: org.apache.spark.serializer.KryoSerializer&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.kryo.unsafe: "false"&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.kryo.referenceTracking: "false"&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.kryo.registrator: com.tomtom.orbis.layers.io.spark.LayerKryoRegistrator&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.kryoserializer.buffer: 4m&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.shuffle.io.retryWait: 30s&lt;BR /&gt;              # Deleted some Hadoop azure options&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;azure_attributes:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;first_on_demand: 1&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;availability: SPOT_WITH_FALLBACK_AZURE&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spot_bid_max_price: 100&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;node_type_id: Standard_E48d_v4&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;driver_node_type_id: Standard_D16ds_v4&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;custom_tags:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;project: orbis-light&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cluster_log_conf:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;dbfs:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;destination: dbfs:/cluster-logs/test/unai&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;enable_elastic_disk: true&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;policy_id: 306312B973000A7D&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;data_security_mode: LEGACY_SINGLE_USER_STANDARD&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;runtime_engine: STANDARD&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;autoscale:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;min_workers: 16&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;max_workers: 16&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;tags:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;name: layer-initial-snapshot&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;The error I am getting (in all executors is the same) is:&lt;/P&gt;&lt;PRE&gt;24/10/16 07:01:15 ERROR Utils: Exception encountered&lt;BR /&gt;org.apache.spark.SparkException: Failed to register classes with Kryo&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer.$anonfun$newKryo$5(KryoSerializer.scala:184)&lt;BR /&gt;at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)&lt;BR /&gt;at org.apache.spark.util.Utils$.withContextClassLoader(Utils.scala:280)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer.newKryo(KryoSerializer.scala:172)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer$$anon$1.create(KryoSerializer.scala:103)&lt;BR /&gt;at com.esotericsoftware.kryo.pool.KryoPoolQueueImpl.borrow(KryoPoolQueueImpl.java:48)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer$PoolWrapper.borrow(KryoSerializer.scala:110)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializerInstance.borrowKryo(KryoSerializer.scala:349)&lt;BR /&gt;at org.apache.spark.serializer.KryoDeserializationStream.&amp;lt;init&amp;gt;(KryoSerializer.scala:303)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializerInstance.deserializeStream(KryoSerializer.scala:470)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast$.unBlockifyObject(TorrentBroadcast.scala:452)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.$anonfun$readBroadcastBlock$4(TorrentBroadcast.scala:339)&lt;BR /&gt;at scala.Option.getOrElse(Option.scala:189)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.$anonfun$readBroadcastBlock$2(TorrentBroadcast.scala:313)&lt;BR /&gt;at org.apache.spark.util.KeyLock.withLock(KeyLock.scala:64)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.$anonfun$readBroadcastBlock$1(TorrentBroadcast.scala:308)&lt;BR /&gt;at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1663)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.readBroadcastBlock(TorrentBroadcast.scala:308)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.getValue(TorrentBroadcast.scala:146)&lt;BR /&gt;at org.apache.spark.broadcast.Broadcast.$anonfun$value$1(Broadcast.scala:80)&lt;BR /&gt;at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)&lt;BR /&gt;at org.apache.spark.broadcast.Broadcast.value(Broadcast.scala:78)&lt;BR /&gt;at org.apache.spark.scheduler.TaskDescription.stageDescription(TaskDescription.scala:72)&lt;BR /&gt;at org.apache.spark.scheduler.TaskDescription.properties(TaskDescription.scala:77)&lt;BR /&gt;at org.apache.spark.executor.Executor$TaskRunner.&amp;lt;init&amp;gt;(Executor.scala:677)&lt;BR /&gt;at org.apache.spark.executor.Executor.createTaskRunner(Executor.scala:533)&lt;BR /&gt;at org.apache.spark.executor.Executor.launchTask(Executor.scala:537)&lt;BR /&gt;at org.apache.spark.executor.Executor$TaskLauncher.$anonfun$run$3(Executor.scala:506)&lt;BR /&gt;at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)&lt;BR /&gt;at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)&lt;BR /&gt;at org.apache.spark.executor.Executor$TaskLauncher.run(Executor.scala:506)&lt;BR /&gt;at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)&lt;BR /&gt;at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)&lt;BR /&gt;at java.base/java.lang.Thread.run(Thread.java:829)&lt;BR /&gt;Caused by: java.lang.ClassNotFoundException: com.tomtom.orbis.layers.io.spark.LayerKryoRegistrator&lt;BR /&gt;at org.apache.spark.repl.ExecutorClassLoader.findClass(ExecutorClassLoader.scala:126)&lt;BR /&gt;at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)&lt;BR /&gt;at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)&lt;BR /&gt;at java.base/java.lang.Class.forName0(Native Method)&lt;BR /&gt;at java.base/java.lang.Class.forName(Class.java:398)&lt;BR /&gt;at org.apache.spark.util.Utils$.classForName(Utils.scala:259)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer.$anonfun$newKryo$7(KryoSerializer.scala:179)&lt;BR /&gt;at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)&lt;BR /&gt;at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)&lt;BR /&gt;at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)&lt;BR /&gt;at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)&lt;BR /&gt;at scala.collection.TraversableLike.map(TraversableLike.scala:286)&lt;BR /&gt;at scala.collection.TraversableLike.map$(TraversableLike.scala:279)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 16 Oct 2024 08:03:44 GMT</pubDate>
    <dc:creator>UnaiUribarri</dc:creator>
    <dc:date>2024-10-16T08:03:44Z</dc:date>
    <item>
      <title>Databricks Kryo setup</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-kryo-setup/m-p/94252#M2082</link>
      <description>&lt;P&gt;I would like to consolidate all our Spark jobs in Databricks. One of those jobs that are currently running in Azure HDInsight is not properly working using a Databricks JAR job.&lt;/P&gt;&lt;P&gt;It uses Spark 3.3 RDDs and requires configuring Kryo serialisation. Therefore, I have setup a DB 12.2 LTS cluster (latest version using Spark 3.3.x) and setup everything like in HDInsight, adding&amp;nbsp;spark config to the cluster and the JAR to the single task.&lt;/P&gt;&lt;P&gt;But cluster fails because executors cannot find the class defined in spark.kryo.registrator, which is included in the JAR.&lt;/P&gt;&lt;P&gt;How can I solve this?&lt;/P&gt;&lt;P&gt;Job definition:&lt;/P&gt;&lt;PRE&gt;resources:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;/SPAN&gt;jobs:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;test_unai_layer_initial_snapshot:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;name: test-unai-layer-initial-snapshot&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;max_concurrent_runs: 15&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;tasks:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- task_key: layer-A-initial-snapshot&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark_jar_task:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;jar_uri: ""&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;main_class_name: com.tomtom.orbis.layers.io.InitialSnapshotCommand&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;parameters:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- --input=redacted&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- --output=redacted&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;run_as_repl: true&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;job_cluster_key: test-unai-initial-snapshot-cluster&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;libraries:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- jar: dbfs:/FileStore/jars/osm-layers-state-io-all.jar&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;job_clusters:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;- job_cluster_key: test-unai-initial-snapshot-cluster&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;new_cluster:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cluster_name: ""&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark_version: 12.2.x-scala2.12&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark_conf:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.network.timeout: 500s&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.executor.cores: "24"&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.sql.shuffle.partitions: auto&lt;BR /&gt;              # Kryo settings copied from HDInsight&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.serializer: org.apache.spark.serializer.KryoSerializer&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.kryo.unsafe: "false"&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.kryo.referenceTracking: "false"&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.kryo.registrator: com.tomtom.orbis.layers.io.spark.LayerKryoRegistrator&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.kryoserializer.buffer: 4m&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spark.shuffle.io.retryWait: 30s&lt;BR /&gt;              # Deleted some Hadoop azure options&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;azure_attributes:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;first_on_demand: 1&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;availability: SPOT_WITH_FALLBACK_AZURE&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;spot_bid_max_price: 100&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;node_type_id: Standard_E48d_v4&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;driver_node_type_id: Standard_D16ds_v4&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;custom_tags:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;project: orbis-light&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cluster_log_conf:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;dbfs:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;destination: dbfs:/cluster-logs/test/unai&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;enable_elastic_disk: true&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;policy_id: 306312B973000A7D&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;data_security_mode: LEGACY_SINGLE_USER_STANDARD&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;runtime_engine: STANDARD&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;autoscale:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;min_workers: 16&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;max_workers: 16&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;tags:&lt;BR /&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;name: layer-initial-snapshot&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;The error I am getting (in all executors is the same) is:&lt;/P&gt;&lt;PRE&gt;24/10/16 07:01:15 ERROR Utils: Exception encountered&lt;BR /&gt;org.apache.spark.SparkException: Failed to register classes with Kryo&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer.$anonfun$newKryo$5(KryoSerializer.scala:184)&lt;BR /&gt;at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)&lt;BR /&gt;at org.apache.spark.util.Utils$.withContextClassLoader(Utils.scala:280)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer.newKryo(KryoSerializer.scala:172)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer$$anon$1.create(KryoSerializer.scala:103)&lt;BR /&gt;at com.esotericsoftware.kryo.pool.KryoPoolQueueImpl.borrow(KryoPoolQueueImpl.java:48)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer$PoolWrapper.borrow(KryoSerializer.scala:110)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializerInstance.borrowKryo(KryoSerializer.scala:349)&lt;BR /&gt;at org.apache.spark.serializer.KryoDeserializationStream.&amp;lt;init&amp;gt;(KryoSerializer.scala:303)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializerInstance.deserializeStream(KryoSerializer.scala:470)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast$.unBlockifyObject(TorrentBroadcast.scala:452)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.$anonfun$readBroadcastBlock$4(TorrentBroadcast.scala:339)&lt;BR /&gt;at scala.Option.getOrElse(Option.scala:189)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.$anonfun$readBroadcastBlock$2(TorrentBroadcast.scala:313)&lt;BR /&gt;at org.apache.spark.util.KeyLock.withLock(KeyLock.scala:64)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.$anonfun$readBroadcastBlock$1(TorrentBroadcast.scala:308)&lt;BR /&gt;at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1663)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.readBroadcastBlock(TorrentBroadcast.scala:308)&lt;BR /&gt;at org.apache.spark.broadcast.TorrentBroadcast.getValue(TorrentBroadcast.scala:146)&lt;BR /&gt;at org.apache.spark.broadcast.Broadcast.$anonfun$value$1(Broadcast.scala:80)&lt;BR /&gt;at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)&lt;BR /&gt;at org.apache.spark.broadcast.Broadcast.value(Broadcast.scala:78)&lt;BR /&gt;at org.apache.spark.scheduler.TaskDescription.stageDescription(TaskDescription.scala:72)&lt;BR /&gt;at org.apache.spark.scheduler.TaskDescription.properties(TaskDescription.scala:77)&lt;BR /&gt;at org.apache.spark.executor.Executor$TaskRunner.&amp;lt;init&amp;gt;(Executor.scala:677)&lt;BR /&gt;at org.apache.spark.executor.Executor.createTaskRunner(Executor.scala:533)&lt;BR /&gt;at org.apache.spark.executor.Executor.launchTask(Executor.scala:537)&lt;BR /&gt;at org.apache.spark.executor.Executor$TaskLauncher.$anonfun$run$3(Executor.scala:506)&lt;BR /&gt;at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)&lt;BR /&gt;at com.databricks.spark.util.ExecutorFrameProfiler$.record(ExecutorFrameProfiler.scala:110)&lt;BR /&gt;at org.apache.spark.executor.Executor$TaskLauncher.run(Executor.scala:506)&lt;BR /&gt;at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)&lt;BR /&gt;at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)&lt;BR /&gt;at java.base/java.lang.Thread.run(Thread.java:829)&lt;BR /&gt;Caused by: java.lang.ClassNotFoundException: com.tomtom.orbis.layers.io.spark.LayerKryoRegistrator&lt;BR /&gt;at org.apache.spark.repl.ExecutorClassLoader.findClass(ExecutorClassLoader.scala:126)&lt;BR /&gt;at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:594)&lt;BR /&gt;at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)&lt;BR /&gt;at java.base/java.lang.Class.forName0(Native Method)&lt;BR /&gt;at java.base/java.lang.Class.forName(Class.java:398)&lt;BR /&gt;at org.apache.spark.util.Utils$.classForName(Utils.scala:259)&lt;BR /&gt;at org.apache.spark.serializer.KryoSerializer.$anonfun$newKryo$7(KryoSerializer.scala:179)&lt;BR /&gt;at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)&lt;BR /&gt;at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)&lt;BR /&gt;at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)&lt;BR /&gt;at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)&lt;BR /&gt;at scala.collection.TraversableLike.map(TraversableLike.scala:286)&lt;BR /&gt;at scala.collection.TraversableLike.map$(TraversableLike.scala:279)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2024 08:03:44 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-kryo-setup/m-p/94252#M2082</guid>
      <dc:creator>UnaiUribarri</dc:creator>
      <dc:date>2024-10-16T08:03:44Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Kryo setup</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-kryo-setup/m-p/94292#M2085</link>
      <description>&lt;P&gt;Kryo Registrator is properly load in the driver. If I remove the class from the JAR, I get an error in the driver instead.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2024 13:14:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-kryo-setup/m-p/94292#M2085</guid>
      <dc:creator>UnaiUribarri</dc:creator>
      <dc:date>2024-10-16T13:14:41Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks Kryo setup</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-kryo-setup/m-p/94423#M2090</link>
      <description>&lt;P class=""&gt;Integrating Spark tasks with Databricks can greatly improve your workflow. For tasks that require Kryo serialization, make sure you configure your Spark session correctly. You may need to adjust the serialization settings in your Spark configuration. Checking RDD compatibility Your databricks can also help with troubleshooting. You can find more detailed instructions on configuring Kryo serialization for Spark jobs in the Databricks documentation.&lt;/P&gt;</description>
      <pubDate>Thu, 17 Oct 2024 08:33:50 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-kryo-setup/m-p/94423#M2090</guid>
      <dc:creator>dilsan77</dc:creator>
      <dc:date>2024-10-17T08:33:50Z</dc:date>
    </item>
  </channel>
</rss>

