wild_table
目次
1つの 問題
- テーブルストレージデータスペース幅、問題に直面するだろう:多くは、データをN回保存されています。N回は、より多くのスペースを取るでしょう。
2つの ソリューション
ストレージJSONフォーマット
テスト:
-建表 jsontest存在する場合、テーブルを削除します。 NOTはjsonTest存在する場合はCREATE TABLE (TEACHER_NAME先生のVARCHAR(10)、 主要VARCHAR(10)、 students_info文字列コメント"学生信息" ) のコメント"学生课程信息" 行形式のserde 'org.apache.hive.hcatalog.data.JsonSerDe' LOCATIONを 'HDFS://nameservice1/user/hive/warehouse/bigdata.db/jsontest'; jsontest値に挿入します (T1 ''、 '语文'、 '{ "グレード":1、 "情報":{ "名": "xinzi"、 "年齢":14、 "セックス": "M"}} | { "グレード":3、 "情報":{ "名": "リージ"、 "年齢":14、 "セックス": "M"}} ')、 (T2' '、 '数学'、 '{」 v_jsontest存在する場合は、ビューを削除します。 ないv_jsontest存在する場合は、ビューを作成する ように 選択TEACHER_NAME先生、メジャー、a.grade、b.name、b.age、b.gender爆発jsontest側面図から(スプリット(students_info、 '\\ |'))ST STINとして 横ビューjson_tuple (STIN、 '学年'、 '情報')グレードとして、情報 氏名、年齢、性別などの側面図のjson_tuple(a.info、 '名前'、 '年齢'、 '性別')B;
- 元のテーブルデータ
ハイブ> * jsontestから選択します。OK T1语文{ "グレード":1、 "情報":{ "名": "xinzi"、 "年齢":14、 "セックス": "M"}} | { "グレード":3、 "情報": { "名": "リージ"、 "年齢":14、 "セックス": "M"}} T2の数学{ "グレード":2、 "情報":{ "名": "zhangs"、 "年齢": 14、 "性別": "F"}}時間が取ら:0.054秒、フェッチされた:2行(複数可)
- 参照結果
ハイブ> * v_jsontestから選択します。.........。OK T1语文1 xinzi 14 M T1语文3リージ14 M T2数学2 zhangs 14 F時間がとら:12.933秒、フェッチされた:3行(複数可)
作成:2020年4月9日(木)12時50分