■ はじめに
https://dk521123.hatenablog.com/entry/2019/12/28/021109
https://dk521123.hatenablog.com/entry/2020/01/02/000000
https://dk521123.hatenablog.com/entry/2019/11/25/235219
で、Hive の環境設定を行った。 今回は、HiveQL の Hello World 的なことを行う。
目次
【1】基本文法 【2】hiveコマンド実行 1)HIVEを開始する 2)DBを作成する 3)データベース一覧表示 4)指定したDBを使う 5)テーブルを作成する 6)テーブル一覧表示 7)テーブル定義表示 8)HIVEから出る 【3】外部ファイルを実行する
【1】基本文法
以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2020/06/02/183823
【2】hiveコマンド実行
1)HIVEを開始する
hive # エラー「java.net.ConnectException: Connection refused」が # 発生したら、以下を行う stop-all.sh hadoop namenode -format start-all.sh
2)DBを作成する
hive> CREATE DATABASE demo_db;
3)データベース一覧表示
# 作成したDBを確認 hive> SHOW DATABASES;
4)指定したDBを使う
# 作成したDBを指定する hive> USE demo_db;
5)テーブルを作成する
hive> CREATE TABLE fruits(id BIGINT, name STRING, price INT);
6)テーブル一覧表示
# 作成したテーブルを確認 hive> SHOW TABLES; # おまけ:「SHOW CREATE TABLE <table_name>;」 # 既存のテーブル定義を出力してくれる hive> SHOW CREATE TABLE fruits;
7)テーブル定義表示
http://kiyohime.hatenablog.com/entry/2013/12/10/185406
hive> DESC fruits; # EXTENDED で詳細説明表示 hive> DESC EXTENDED fruits; # FORMATTEDで詳細説明表示(見やすいよう整形) hive> DESC FORMATTED fruits;
8)HIVEから出る
hive> exit;
【3】外部ファイルを実行する
hive --hivevar key1=demo_db --hiveconf key2=hello_table -f hello.hql
hello.hql
-- なかったらDB作成 CREATE DATABASE IF NOT EXISTS ${hivevar:key1}; USE ${hivevar:key1}; -- テーブル作成 DROP TABLE IF EXISTS ${hiveconf:key2}; CREATE EXTERNAL TABLE ${hiveconf:key2} ( `id` BIGINT, `name` STRING ) PARTITIONED BY (created_date BIGINT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' LOCATION '/home/user/hello';
/home/user/hello/created_date=20200602/hello.csv
1,Mike 2,Tom 3,Kevin 4,Sam
確認コマンド
hive hive> show databases; # demo_db があることを確認 hive> show tables; # hello_tableがあることを確認
参考文献
https://qiita.com/zaburo/items/202abc3be628301b277e
http://labs.opentone.co.jp/?p=1860
https://www.atmarkit.co.jp/ait/articles/1701/01/news022.html
INSERT
https://jp.alibabacloud.com/help/doc-detail/73775.htm
関連記事
Hive / HiveQL ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2019/11/25/235219
Hive / HiveQL ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/06/02/183823
Hive / HiveQL ~ データベース関連 ~
https://dk521123.hatenablog.com/entry/2022/05/12/150249
Hive / HiveQL ~ テーブル作成 ~
https://dk521123.hatenablog.com/entry/2020/11/03/000000
Hive / HiveQL ~ パーティション / 基本編 ~
https://dk521123.hatenablog.com/entry/2020/07/16/224332
Hive / HiveQL ~ パーティション / あれこれ編 ~
https://dk521123.hatenablog.com/entry/2020/09/18/113637
Hive / HiveQL ~ データ圧縮あれこれ ~
https://dk521123.hatenablog.com/entry/2021/08/06/172502
Hive / HiveQL ~ Hiveコマンド ~
https://dk521123.hatenablog.com/entry/2023/02/21/223137
Hive / HiveQL ~ CASE文 ~
https://dk521123.hatenablog.com/entry/2021/06/19/073248
Hive / HiveQL ~ JOIN文 ~
https://dk521123.hatenablog.com/entry/2021/06/16/152019
Hive / HiveQL ~ LOAD DATA ~
https://dk521123.hatenablog.com/entry/2022/05/15/142918
Hive / HiveQL ~ コメント文 ~
https://dk521123.hatenablog.com/entry/2021/06/25/162430
Hive / HiveQL ~ HiveQL関数 / 文字列置換編 ~
https://dk521123.hatenablog.com/entry/2020/03/10/224640
Hive / HiveQL ~ HiveQL関数・regexp_replace編 ~
https://dk521123.hatenablog.com/entry/2021/06/18/184713
Hive / HiveQL ~ HiveQL関数・文字列関数編 ~
https://dk521123.hatenablog.com/entry/2021/06/21/231033
Hive / HiveQL ~ HiveQL関数 / NULL関連編 ~
https://dk521123.hatenablog.com/entry/2021/06/22/213241
Hive / HiveQL ~ HiveQL関数 / 日時・日付操作編 ~
https://dk521123.hatenablog.com/entry/2021/02/11/233633
Hive / HiveQL ~ 設定プロパティ ~
https://dk521123.hatenablog.com/entry/2020/09/19/152136
Hive / HiveQL ~ Hiveの変数 ~
https://dk521123.hatenablog.com/entry/2021/06/24/094254
Hive / HiveQL ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2020/03/04/225943
Hive / HiveQL ~ データをクリーニングする ~
https://dk521123.hatenablog.com/entry/2020/07/06/232350
Hiveで固定値を挿入するには
https://dk521123.hatenablog.com/entry/2020/09/22/000000
Hiveクエリで入力ファイル名を取得するには
https://dk521123.hatenablog.com/entry/2020/11/16/162114
Hiveテーブルデータ を Redshift に移行するには
https://dk521123.hatenablog.com/entry/2021/09/01/200818
Hive に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/11/20/174039
Hive / Partition に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/05/28/175428
テーブルアクセス時に例外「Vertex failed, ... InvalidInputException」が発生する
https://dk521123.hatenablog.com/entry/2021/07/06/120134
Hadoop / Hive 環境構築時のトラブルシューティング
https://dk521123.hatenablog.com/entry/2021/02/12/160221
Apache Hive ~ 環境設定 / Windows編 ~
https://dk521123.hatenablog.com/entry/2019/12/28/021109
Apache Hive ~ 環境設定 / Linux編 ~
https://dk521123.hatenablog.com/entry/2020/01/02/000000