<?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 Re: Cannot pass arrays to spark.sql() using named parameter markers in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/cannot-pass-arrays-to-spark-sql-using-named-parameter-markers/m-p/75594#M34998</link>
    <description>&lt;P&gt;That worked, thanks!&lt;/P&gt;</description>
    <pubDate>Mon, 24 Jun 2024 13:51:22 GMT</pubDate>
    <dc:creator>runninsavvy</dc:creator>
    <dc:date>2024-06-24T13:51:22Z</dc:date>
    <item>
      <title>Cannot pass arrays to spark.sql() using named parameter markers</title>
      <link>https://community.databricks.com/t5/data-engineering/cannot-pass-arrays-to-spark-sql-using-named-parameter-markers/m-p/75373#M34954</link>
      <description>&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;I am attempting to use named parameter markers as shown in this article:&amp;nbsp;&lt;A href="https://docs.databricks.com/en/sql/language-manual/sql-ref-parameter-marker.html#named-parameter-markers" target="_blank"&gt;https://docs.databricks.com/en/sql/language-manual/sql-ref-parameter-marker.html#named-parameter-markers&lt;/A&gt;&lt;/P&gt;&lt;P&gt;I can pass strings and numbers in perfectly fine, but the issues arise when I try to pass in arrays. An example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;spark.sql("SELECT 1 IN (1, 2, 3)", args=params).show()&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Works just fine, and the function is able to run. However:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;spark.sql("SELECT 1 IN :test", args={"test": [1, 2, 3]}).show()&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and also&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;spark.sql("SELECT 1 IN ARRAY(:test)", args={"test": [1, 2, 3]}).show()&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;give me vague syntax errors, and even just trying to reference the passed-in array in a basic sense like&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;spark.sql("SELECT :test", args={"test": [1, 2, 3]}).show()&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P data-unlink="true"&gt;gives the error "&lt;SPAN&gt;[&lt;/SPAN&gt;INVALID_SQL_ARG&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;SPAN&gt; The argument test of 'sql()' is invalid. Consider to replace it by a SQL literal."&lt;/SPAN&gt;&lt;/P&gt;&lt;P data-unlink="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is there any way to pass in an array using named parameters to pyspark.sql()? Thanks&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Jun 2024 21:39:59 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/cannot-pass-arrays-to-spark-sql-using-named-parameter-markers/m-p/75373#M34954</guid>
      <dc:creator>runninsavvy</dc:creator>
      <dc:date>2024-06-21T21:39:59Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot pass arrays to spark.sql() using named parameter markers</title>
      <link>https://community.databricks.com/t5/data-engineering/cannot-pass-arrays-to-spark-sql-using-named-parameter-markers/m-p/75522#M34977</link>
      <description>&lt;P&gt;Hello &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/109225"&gt;@runninsavvy&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;The following code sample can be used in such case&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;val argArray = Array(1, 2, 3)&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;val argMap = Map("param" -&amp;gt; argArray.mkString(","))&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;STRONG&gt;spark.sql("SELECT 1 IN (SELECT explode(split(:param, ',')))",argMap).show()&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 24 Jun 2024 04:06:34 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/cannot-pass-arrays-to-spark-sql-using-named-parameter-markers/m-p/75522#M34977</guid>
      <dc:creator>User16502773013</dc:creator>
      <dc:date>2024-06-24T04:06:34Z</dc:date>
    </item>
    <item>
      <title>Re: Cannot pass arrays to spark.sql() using named parameter markers</title>
      <link>https://community.databricks.com/t5/data-engineering/cannot-pass-arrays-to-spark-sql-using-named-parameter-markers/m-p/75594#M34998</link>
      <description>&lt;P&gt;That worked, thanks!&lt;/P&gt;</description>
      <pubDate>Mon, 24 Jun 2024 13:51:22 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/cannot-pass-arrays-to-spark-sql-using-named-parameter-markers/m-p/75594#M34998</guid>
      <dc:creator>runninsavvy</dc:creator>
      <dc:date>2024-06-24T13:51:22Z</dc:date>
    </item>
  </channel>
</rss>

