1、データのインポート
テーブルにデータをロードする1.1(負荷)
1。文法
'/opt/module/datas/student.txt' INPATH [ローカル]ハイブ>負荷データテーブルの学生の中に[パーティション(partcol1 = val1と、...)] [上書き]。
(1)負荷データ:ロードデータが表します
(2)ローカル;そうでなければ、データは、HDFSテーブルからハイブ(移動)にロードされるハイブ(コピー)にローカルテーブルからロードされたデータを示します
(3)INPATH:ロードデータパスを表します
(4)への上書き:既存のデータを表すテーブルをカバーする、又はその追加
(5)テーブルに:ローディングテーブルを表します
(6)学生:特定のテーブルを示す図
(7)パーティション:指定されたパーティションにアップロード表します
2。実用的な操作ケース
(0)テーブルを作成します
ハイブ>テーブルの学生(id文字列、名前の文字列)「\ tの」で終わる行形式区切られたフィールドを作成します。
(1)ハイブにローカルファイルをロードします
ハイブ>負荷データテーブルdefault.studentにローカルINPATH「/opt/module/datas/student.txt」;
(2)HDFSにハイブファイルをロードします
HDFSにファイルをアップロード
ハイブ> DFS -put /opt/module/datas/student.txt /ユーザー/ atguigu /ハイブ。
データHDFSをロード
ハイブ>負荷データテーブルdefault.studentにINPATH「/user/atguigu/hive/student.txt」;
(3)既存のデータ・オーバーレイ・テーブルにデータをロードします
HDFSにファイルをアップロード
ハイブ> DFS -put /opt/module/datas/student.txt /ユーザー/ atguigu /ハイブ。
テーブル内の既存のデータをカバーするデータのロード
テーブルdefault.studentに上書きする「/user/atguigu/hive/student.txt」ハイブ>負荷データINPATH。
テーブルクエリにデータを挿入することによって、1.2(挿入)
1。パーティションテーブルを作成します。
ハイブ>「\ tの」で終了(月の文字列)行形式区切られたフィールドで仕切られたテーブルの学生(ID int型、名前文字列)を作成します。
2。挿入された基本データ
ハイブ>は、テーブルの学生のパーティション(月= '201709')の値(1、 'wangwu')に挿入します。
3。基本モードの挿入(単一のテーブルに基づいてクエリ結果)
ハイブ>挿入上書きテーブルの学生パーティション(月=「201708」)
IDを選択し、学生から名前ヶ月=「201709」;
4。マルチ挿入モード(複数のテーブルに従って照会結果)
学生からハイブ>
上書き表の学生のパーティション(月=「201707」)を挿入します
IDを選択し、名前月=「201709」
上書き表の学生のパーティション(月=「201706」)を挿入します
IDを選択し、名前どこヶ月= '201709';
テーブルを作成し、(選択すると)データをロードする1.3クエリステートメント
クエリ結果に基づいてテーブルを作成します(クエリの結果は、新しく作成された中でテーブルに追加されます)
create table if not exists student3 as select id, name from student;
表1.4の作成時に指定した場所を介してデータ経路をロード
1。テーブルを作成し、HDFS上の場所を指定
student5存在しない場合はハイブ>は、テーブルを作成します(
ID int型、名前文字列
)
「\ tの」で終わる行形式区切られたフィールド
位置「/ユーザ/ハイブ/倉庫/ student5」。
2。HDFSにデータをアップロードします
ハイブ> DFS -put /opt/module/datas/student.txt /ユーザ/ハイブ/倉庫/ student5。
3。クエリデータ
ハイブ> student5から選択*;
指定されたハイブへ1.5インポートテーブルデータ
注意:最初の使用の輸出エクスポート後にして、データをインポートします。
ハイブ>インポートテーブルのstudent2パーティション '/ユーザー/ハイブ/倉庫/エクスポート/生徒から(月= '201709');
2、データのエクスポート
2.1挿入エクスポート
1。地元の輸出へのクエリの結果
ハイブ>上書きローカルディレクトリを挿入し "は/ opt /モジュール/件のデータ/エクスポート/生徒
学生から選択*;
2。ローカルフォーマットの輸出へのクエリの結果
ハイブ>上書きローカルディレクトリを挿入し「は/ opt /モジュール/件のデータ/エクスポート/ STUDENT1」
「\ t」のBY TERMINATED行形式区切られたフィールドは、学生から*を選択します。
3。クエリの結果は、HDFS(ローカルではない)にエクスポートされ
ハイブ>挿入上書きディレクトリ '/ユーザー/ atguigu / student2'
「\ t」のBY TERMINATED行形式区切られたフィールド
学生から選択*;
ローカルをエクスポートする2.2のHadoopコマンド
ハイブ> DFS -get /ユーザー/ハイブ/倉庫/学生/月= 201709 / 000000_0 /opt/module/datas/export/student3.txt。
2.3ハイブシェルは、エクスポートするコマンド
基本的な構文:(ハイブ-f / -e文またはスクリプトを実行>ファイル)
[ルート@マスターハイブ] $ビン/ハイブ-e 'をdefault.studentから選択します*;' > /opt/module/datas/export/student4.txt;
HDFSに2.4エクスポートのエクスポート
'/ユーザー/ハイブ/倉庫/エクスポート/生徒へ(defahiveult)>エクスポートテーブルのdefault.student。
テーブル内のデータをクリアする3、(切り捨て)
注意:切り捨ては、管理テーブルを削除することができ、あなたは、外部表のデータを削除することはできません。
ハイブ>テーブルの学生を切り捨てます。