<?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>question Re: Spark SQL JSON array querry ? in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26504#M5526</link>
    <description>&lt;P&gt;Thanks for your reply chrisf,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been trying to use LATERAL VIEW explode for week but still can't figure how to use it, can you give me an example from my first post.&lt;/P&gt;&lt;P&gt;I also try json-serde in HiveContext, i can parse table, but can't querry although the querry work fine in Hive.&amp;nbsp;&lt;/P&gt;&lt;P&gt;EX:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;+ In both Hive anh HiveContext, i can parse table:&amp;nbsp;&lt;/P&gt;&lt;P&gt;CREATE EXTERNAL TABLE data(&amp;nbsp;parts&amp;nbsp;array&amp;lt;struct&amp;lt;locks:STRING, key:STRING&amp;gt;&amp;gt;&amp;nbsp;)&amp;nbsp;ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'&amp;nbsp;LOCATION '/user/hue/...';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;+ Then in Hive, i can use this:&amp;nbsp;&lt;/P&gt;&lt;P&gt;SELECT parts.locks FROM data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but it will return error in HiveContext.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looking forward for reply, thanks !&lt;/P&gt;</description>
    <pubDate>Wed, 15 Apr 2015 09:54:13 GMT</pubDate>
    <dc:creator>MabuXayda</dc:creator>
    <dc:date>2015-04-15T09:54:13Z</dc:date>
    <item>
      <title>Spark SQL JSON array querry ?</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26282#M5524</link>
      <description>&lt;P&gt;I have a simple JSON dataset as below. How do I query all parts.lock&lt;/P&gt;&lt;P&gt;JSON:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="str"&gt;"id"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="lit"&gt;1&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"A green door"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="str"&gt;"price"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="lit"&gt;12.50&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="str"&gt;"tags"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"home"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"green"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;],&lt;/SPAN&gt;
    &lt;SPAN class="str"&gt;"parts"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;
        &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;
            &lt;SPAN class="str"&gt;"lock"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"One lock"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;
            &lt;SPAN class="str"&gt;"key"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"single key"&lt;/SPAN&gt;
        &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
        &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;
            &lt;SPAN class="str"&gt;"lock"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"2 lock"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;
            &lt;SPAN class="str"&gt;"key"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"2 key"&lt;/SPAN&gt;
        &lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;
    &lt;SPAN class="pun"&gt;]&lt;/SPAN&gt;
&lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Query:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="kwd"&gt;select&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; id&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;price&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;parts&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;lock from product&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;The point is if I use parts[0].lock it will return one row as below:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'price'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="lit"&gt;12.5&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'id'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="lit"&gt;1&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'.lock'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'lock'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'One lock'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'key'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'single key'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'name'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'A green door'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;But I want to return all the locks in the parts structure.&lt;/P&gt;&lt;P&gt;Please help me with this, thanks !&lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2022 09:26:09 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26282#M5524</guid>
      <dc:creator>MabuXayda</dc:creator>
      <dc:date>2022-09-16T09:26:09Z</dc:date>
    </item>
    <item>
      <title>Re: Spark SQL JSON array querry ?</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26361#M5525</link>
      <description>you're looking for LATERAL VIEW EXPLODE:&lt;BR /&gt;&lt;BR /&gt;&lt;A target="_blank" href="http://apache-spark-user-list.1001560.n3.nabble.com/flattening-a-list-in-spark-sql-td13300.html"&gt;http://apache-spark-user-list.1001560.n3.nabble.com/flattening-a-list-in-spark-sql-td13300.html&lt;/A&gt;</description>
      <pubDate>Wed, 08 Apr 2015 23:39:26 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26361#M5525</guid>
      <dc:creator>chrisf</dc:creator>
      <dc:date>2015-04-08T23:39:26Z</dc:date>
    </item>
    <item>
      <title>Re: Spark SQL JSON array querry ?</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26504#M5526</link>
      <description>&lt;P&gt;Thanks for your reply chrisf,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've been trying to use LATERAL VIEW explode for week but still can't figure how to use it, can you give me an example from my first post.&lt;/P&gt;&lt;P&gt;I also try json-serde in HiveContext, i can parse table, but can't querry although the querry work fine in Hive.&amp;nbsp;&lt;/P&gt;&lt;P&gt;EX:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;+ In both Hive anh HiveContext, i can parse table:&amp;nbsp;&lt;/P&gt;&lt;P&gt;CREATE EXTERNAL TABLE data(&amp;nbsp;parts&amp;nbsp;array&amp;lt;struct&amp;lt;locks:STRING, key:STRING&amp;gt;&amp;gt;&amp;nbsp;)&amp;nbsp;ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'&amp;nbsp;LOCATION '/user/hue/...';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;+ Then in Hive, i can use this:&amp;nbsp;&lt;/P&gt;&lt;P&gt;SELECT parts.locks FROM data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but it will return error in HiveContext.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looking forward for reply, thanks !&lt;/P&gt;</description>
      <pubDate>Wed, 15 Apr 2015 09:54:13 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26504#M5526</guid>
      <dc:creator>MabuXayda</dc:creator>
      <dc:date>2015-04-15T09:54:13Z</dc:date>
    </item>
    <item>
      <title>Re: Spark SQL JSON array querry ?</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26555#M5527</link>
      <description>&lt;P&gt;Oh, I finally do it, follow is my hql:&lt;/P&gt;&lt;P&gt;SELECT id, part.lock, part.key FROM mytable EXTERNAL VIEW explode(parts) parttable AS part;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;many thanks chrisf !&lt;/P&gt;</description>
      <pubDate>Thu, 16 Apr 2015 04:58:59 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Spark-SQL-JSON-array-querry/m-p/26555#M5527</guid>
      <dc:creator>MabuXayda</dc:creator>
      <dc:date>2015-04-16T04:58:59Z</dc:date>
    </item>
  </channel>
</rss>

