2016-08-09 8 views
0

私は構造体の配列(Sparkの寄木細工のファイルから始まります)のテーブルを持っています。一例として、テーブルのツリーは次のようになります。HiveSQL:構造体の配列を照会

| -- family_name : string 
| -- kids : array 
     | -- element : struct 
       | -- name : string 
       | -- id : string 
       | -- class_grades : struct 
         | -- math : int 
         | -- science : int 

私は90注意上記mathグレードと少なくとも一つの子供は子供の数が間に変化することがありますすべてのfamily_name秒を取得したいのですが家族。これどうやってするの?

答えて

0

図それを:

SELECT 
      family_name, 
      grades.math 
FROM 
      (SELECT 
         family_name, 
         grades 
      FROM 
         table_name 
      LATERAL VIEW OUTER 
         explode(class_grades) c as grades) 
AS 
      exploded_grades 
WHERE  grades.math > 90