<?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 AnalysisException: [UNRESOLVED_ROUTINE] Cannot resolve routine `=` in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/163244#M55115</link>
    <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;We are experiencing an AnalysisException when migrating our Databricks cluster runtime from 13.3 LTS to 16.4 LTS (Scala 2.13), and would appreciate your help in identifying the root cause.&lt;/P&gt;&lt;P&gt;**Error:**&lt;BR /&gt;```&lt;BR /&gt;AnalysisException: [UNRESOLVED_ROUTINE] Cannot resolve routine `=` on search path&lt;BR /&gt;[`system`.`builtin`, `system`.`session`, `spark_catalog`.`default`].&lt;BR /&gt;SQLSTATE: 42883&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;**Where it fails:**&lt;BR /&gt;The exception is thrown inside a Scala `object` class when calling `.where()` on a DataFrame — specifically at:&lt;BR /&gt;```&lt;BR /&gt;org.apache.spark.sql.Dataset.filter(Dataset.scala:1993)&lt;BR /&gt;org.apache.spark.sql.Dataset.where(Dataset.scala:2021)&lt;BR /&gt;```&lt;BR /&gt;The filter uses the Column DSL (e.g. `col("job_id") === lit(jobId)`), not raw SQL strings.&lt;/P&gt;&lt;P&gt;**What we have tried:**&lt;BR /&gt;- Replacing `.where("enabled = 1")` string predicates with Column DSL equivalents (`===`, `=!=`) — same error&lt;BR /&gt;- Confirming `SHOW FUNCTIONS LIKE '='` returns the function as expected&lt;BR /&gt;- Verifying `rawDF.printSchema()` succeeds — the DataFrame itself is healthy&lt;/P&gt;&lt;P&gt;**Questions:**&lt;BR /&gt;1. Is this a known regression or breaking change in the HybridAnalyzer between DBR 13.3 LTS and 16.4 LTS?&lt;BR /&gt;2. Is there a recommended way to ensure built-in operators are resolved correctly when the active catalog is not `spark_catalog`?&lt;BR /&gt;3. Is setting `USE CATALOG spark_catalog` at session start the intended workaround, or is there a runtime/cluster config that should handle this?&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
    <pubDate>Fri, 17 Jul 2026 04:54:21 GMT</pubDate>
    <dc:creator>phanvy5403</dc:creator>
    <dc:date>2026-07-17T04:54:21Z</dc:date>
    <item>
      <title>AnalysisException: [UNRESOLVED_ROUTINE] Cannot resolve routine `=`</title>
      <link>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/163244#M55115</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;We are experiencing an AnalysisException when migrating our Databricks cluster runtime from 13.3 LTS to 16.4 LTS (Scala 2.13), and would appreciate your help in identifying the root cause.&lt;/P&gt;&lt;P&gt;**Error:**&lt;BR /&gt;```&lt;BR /&gt;AnalysisException: [UNRESOLVED_ROUTINE] Cannot resolve routine `=` on search path&lt;BR /&gt;[`system`.`builtin`, `system`.`session`, `spark_catalog`.`default`].&lt;BR /&gt;SQLSTATE: 42883&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;**Where it fails:**&lt;BR /&gt;The exception is thrown inside a Scala `object` class when calling `.where()` on a DataFrame — specifically at:&lt;BR /&gt;```&lt;BR /&gt;org.apache.spark.sql.Dataset.filter(Dataset.scala:1993)&lt;BR /&gt;org.apache.spark.sql.Dataset.where(Dataset.scala:2021)&lt;BR /&gt;```&lt;BR /&gt;The filter uses the Column DSL (e.g. `col("job_id") === lit(jobId)`), not raw SQL strings.&lt;/P&gt;&lt;P&gt;**What we have tried:**&lt;BR /&gt;- Replacing `.where("enabled = 1")` string predicates with Column DSL equivalents (`===`, `=!=`) — same error&lt;BR /&gt;- Confirming `SHOW FUNCTIONS LIKE '='` returns the function as expected&lt;BR /&gt;- Verifying `rawDF.printSchema()` succeeds — the DataFrame itself is healthy&lt;/P&gt;&lt;P&gt;**Questions:**&lt;BR /&gt;1. Is this a known regression or breaking change in the HybridAnalyzer between DBR 13.3 LTS and 16.4 LTS?&lt;BR /&gt;2. Is there a recommended way to ensure built-in operators are resolved correctly when the active catalog is not `spark_catalog`?&lt;BR /&gt;3. Is setting `USE CATALOG spark_catalog` at session start the intended workaround, or is there a runtime/cluster config that should handle this?&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jul 2026 04:54:21 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/163244#M55115</guid>
      <dc:creator>phanvy5403</dc:creator>
      <dc:date>2026-07-17T04:54:21Z</dc:date>
    </item>
    <item>
      <title>Re: AnalysisException: [UNRESOLVED_ROUTINE] Cannot resolve routine `=`</title>
      <link>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/163298#M55123</link>
      <description>&lt;P&gt;You can add a cluster level Spark configuration to set the default catalog at startup avoiding per session configurations.&lt;/P&gt;&lt;LI-CODE lang="python"&gt;spark.databricks.sql.initial.catalog.name spark_catalog&lt;/LI-CODE&gt;&lt;P&gt;You can use spark.sql.path.enabled = true and explicitly set PATH to include system builtin&lt;/P&gt;&lt;LI-CODE lang="python"&gt;spark.conf.set("spark.sql.path.enabled", "true")
spark.sql("SET PATH = system.builtin, system.session, spark_catalog.default")&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 17 Jul 2026 16:50:21 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/163298#M55123</guid>
      <dc:creator>balajij8</dc:creator>
      <dc:date>2026-07-17T16:50:21Z</dc:date>
    </item>
    <item>
      <title>Re: AnalysisException: [UNRESOLVED_ROUTINE] Cannot resolve routine `=`</title>
      <link>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/163304#M55124</link>
      <description>&lt;P&gt;It doesn't sound like the === operator itself is the issue, since it should compile into a normal Catalyst expression rather than a SQL function call. The fact that Spark is trying to resolve = as a routine makes me suspect a catalog or analyzer behavior change in DBR 16.4. check whether a custom catalog, Unity Catalog setting, or Spark extension is intercepting analysis before assuming it's a regression. If you can share a minimal reproducible example and your catalog/session configuration, it'll be much easier to narrow down.&lt;/P&gt;</description>
      <pubDate>Fri, 17 Jul 2026 22:09:02 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/163304#M55124</guid>
      <dc:creator>henry_collins</dc:creator>
      <dc:date>2026-07-17T22:09:02Z</dc:date>
    </item>
    <item>
      <title>Re: AnalysisException: [UNRESOLVED_ROUTINE] Cannot resolve routine `=`</title>
      <link>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/164852#M55349</link>
      <description>&lt;P&gt;Having a similar issue when moving from DBR 13 to DBR 16.4 in a multi-task Job. The first task works ok but the 2nd with identical code but different params fails. For me it fails with&amp;nbsp;&lt;STRONG&gt;&lt;EM&gt;Cannot resolve function&lt;/EM&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;`and` (I assume from the .between(from_date, to_date)).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Anyone solved it? or knows of a workaround?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Aug 2026 14:55:42 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/analysisexception-unresolved-routine-cannot-resolve-routine/m-p/164852#M55349</guid>
      <dc:creator>VaDim</dc:creator>
      <dc:date>2026-08-04T14:55:42Z</dc:date>
    </item>
  </channel>
</rss>

