デジタルタイプ
TINYINT(-128から127までの整数を符号付き1バイト)
SMALLINT(-32,768から32,767まで2バイトの符号付き整数)
INT / INTEGER(4バイト-2,147,483,648から2,147,483,647に、符号付き整数)
BIGINT(-9,223,372,036,854,775,808から9,223,372,036,854,775,807に8バイトの符号付き整数)
FLOAT(4バイトの単精度浮動小数点数)
DOUBLE(8バイトの倍精度浮動小数点数)
例:
表t_test(文字列、BのINT、C BIGINT、Dフロート、E二重、TINYINT F、G SMALLINT)を作成
第二に、日付と時刻タイプ
TIMESTAMP(注:ハイブ0.8.0で始まるのみ利用可能)
DATE(注:ハイブ0.12.0で始まるのみ利用可能)
たとえば、ファイルには、次のようなデータを持っている場合:
。1、zhangsan、1985年 - 06 - 30 2、リージ、1986年 - 07 - 10 。3、wangwu、1985年 - 08 - 09
だから、あなたはマップするために、データのテーブルを構築することができます
テーブルt_customer(ID int型、名前文字列、誕生日の日付)を作成
「」によって終了行形式区切られたフィールド。
そして、データをインポートします
テーブルt_customerにデータをロードし、ローカルINPATH「/root/customer.dat」;
その後、あなたは正確に照会することができます
第三に、文字列型
STRING
VARCHAR(注:ハイブ0.12.0で始まるのみ利用可能)
CHAR(注:ハイブ0.13.0で始まるのみ利用可能)
第四に、ハイブリッド型
BOOLEAN
BINARY(注:ハイブで始まるのみ利用可能 0.8.0)
第五に、複合型
5-1配列の配列型
アレイ:ARRAY <DATA_TYPE>(注:負の値と非定数式がハイブ0.14として許容されます。)
例:アプリケーションの配列型
以下のデータは、ハイブデマッピングテーブルを必要とする場合:
ウルフ2、呉京:呉ギャング:ドラゴンの母、2017年 - 08 - 16 サンセイIIIマイル桃、劉イーフェイ:かゆみ、2017年 - 08 - 20
アイデア:情報をもっと便利にマッピングするための配列で主演した場合
内蔵のテーブル:
テーブルt_movieを作成する(moive_name文字列、俳優列<文字列>、first_show日)
によって終了行フォーマット区切られたフィールド「」
「:」で終わるコレクションアイテム。
データをインポート:
テーブルt_movieにデータをロードし、ローカルINPATH「/root/movie.dat」;
クエリ:
t_movieから*を選択します。
t_movieからmoive_name、俳優[0]を選択します。
t_movieからここarray_contains(俳優、 '吴刚')moive_name、アクタを選択します。
t_movieからmoive_name、サイズ(アクター)を選択します。
5-2マップタイプ
マップ:MAP <primitive_type、DATA_TYPE>(注:負の値と非定数式がハイブ0.14のよう許可されています。)
例:
。1、zhangsan、父:暁明#母:xiaohuang#ブラザー:Xiaoxu、28 2、リージ、父:mayun#母:huangyi#ブラザー:Guanyu、22である 3。、wangwu、父:#母王健林:インナーフィーリング#1 SISTER:Jingtian、29 4、mayun、父:母mayongzhen#:アンジェラベイビー、26
マップの前記データタイプと家族に説明することができます
table文の構築:
テーブルt_person(ID int型、名前文字列、family_membersマップの<string、string>は、年齢int)を作成します
によって終了行フォーマット区切られたフィールド「」
「#」で終わるコレクションアイテム
「:」で終了し、マップキー。
クエリ:
t_personから*を選択します。
##は、指定されたキーフィールドマップの値をとります
選択ID、名前、family_members [ '父'] t_personから父親として;
すべてのキーフィールドをマップ##テイク
選択ID、名前、t_personから関係としてmap_keys(family_members)。
##フィールドマップのすべての値をとります
選択ID、名前、map_values t_personから(family_members)。
t_personから選択ID、名前、map_values(family_members)[0];
総合##:ユーザ情報のクエリは、弟を持っています
選択 ID 、名前、父親 から (選択 ID、名前、family_members [ 「兄弟」t_personから父親として])tmpの 父親ではないヌル。
5-3構造体型
構造体:STRUCT <COL_NAME:DATA_TYPE、...>
例
1、zhangsan、18:男性:北京 2、リージ、28:女性:上海 |
どのユーザー情報含まれています。年齢:整数、性別:文字列、住所:文字列を
全体のユーザ情報を記述するためのフィールドを想定し、構造体を使用することができます
内蔵のテーブル:
テーブルt_person_structを作成します(ID int型、名前文字列、情報構造体<年齢:int型、性別:文字列、ADDR:文字列>)
によって終了行フォーマット区切られたフィールド「」
「:」で終わるコレクションアイテム。
お問い合わせ
t_person_structから*を選択します。
ID、名前、t_person_structからinfo.ageを選択します。