2017-07-02 14 views
1

は私が讲义1コース= Hadoopのに基づいて、このデータfiterフィルタは、ハイブ複雑なデータ型は

100 student1 java,.net,hadoop 
101 student2 .net,hadoop 
102 student3 java,hadoop 
103 student4 .net,hadoop 
104 student5 java,.net 
105 student6 java,.net,hadoop 
106 student7 .net,hadoop 

のようなデータ

create table student(
     id bigint 
    ,name string 
    , course array<string>) 
ROW FORMAT DELIMiTED fields terminated by '\t' 
collection items terminated by ',' 
STORED AS TEXTFILE; 

とデータをフィルタリングするハイブを使用してテーブルを作成し

私を助けてください。

+0

**等しい**や**は**含まれていますか? –

+0

上記のデータを持つコースのデータ型です。ハープ・コースをやっている学生をフィルタリングしたい –

答えて

0
select * 
from student 
where array_contains (course,'hadoop') 
; 

+-----+----------+--------------------------+ 
| id | name |   course   | 
+-----+----------+--------------------------+ 
| 100 | student1 | ["java",".net","hadoop"] | 
| 101 | student2 | [".net","hadoop"]  | 
| 102 | student3 | ["java","hadoop"]  | 
| 103 | student4 | [".net","hadoop"]  | 
| 105 | student6 | ["java",".net","hadoop"] | 
| 106 | student7 | [".net","hadoop"]  | 
+-----+----------+--------------------------+ 
関連する問題